Этот вопрос касается диагностики причин повышенного сетевого трафика в веб-приложении с выходом в Интернет.
Задний план: Рассматриваемое веб-приложение - это форум на основе Django, где пользователи загружают изображения и текстовый контент, а затем обсуждают его.
Инфраструктура: ОС есть Ubuntu 14.04
. Веб-сервер gunicorn
который использует nginx
как обратный прокси. Приложение и его БД размещаются на одном компьютере, который является экземпляром AWS EC2. Наконец, все изображения сохраняются (и обслуживаются) из корзины AWS S3.
Симптомы: NetworkOut
резко увеличился в два раза 4 апреля 2019 г. См. здесь:
NetworkIn
имеет аналогичный эффект:
Итого ежемесячно GET
запросов к нашей корзине S3 увеличилось с ~ 66 млн (наш обычный уровень) до ~ 130 млн. Ежемесячная передача данных по сети выросла с ~ 1,4 ТБ до 2,2 ТБ. Этот повышенный эффект все еще продолжается, и конца ему не видно. Это почти похоже на то, что все наши серверные вызовы удвоились, точно следуя сигнатуре нашего ежедневного пользовательского трафика.
Также обратите внимание, что НЕ изменилось: CPU Utilization
остался практически таким же. Вот:
Точно так же Disk I/O
остался практически таким же. Наша база пользователей практически не изменилась (как ежемесячно, так и ежедневно). Вовлеченность пользователей (просмотры страниц, продолжительность сеансов и т. Д.) Практически не изменилась. Количество добавляемого нового контента (например, изображений, добавляемых за день) осталось прежним.
Наконец, когда это событие началось 4 апреля, исходный код приложения не изменился. Некоторые изменения были внесены на 1 день позже (и многие из них были внесены с тех пор).
Что я пробовал: Я просмотрел логи nginx и S3. Это объемный сайт. Я вижу множество запросов от пользователей. В них легко заблудиться. В общем, ничего откровенно злого мне не выскакивает. Я, наверное, что-то упускаю.
В настоящее время я не знаю, как диагностировать эту проблему. Я чувствую некоторую неправильную конфигурацию. Было бы здорово получить совет от отраслевых экспертов по этому поводу. Заранее благодарим вас и спрашивайте меня о других деталях. Я добавлю их как обновления в конце вопроса.
Вот результат free -m
:
total used free shared buffers cached
Mem: 63802 57141 6660 6799 147 24454
-/+ buffers/cache: 32539 31262
Swap: 0 0 0