Назад | Перейти на главную страницу

Диагностика увеличения трафика, попадающего в веб-приложение Django

Этот вопрос касается диагностики причин повышенного сетевого трафика в веб-приложении с выходом в Интернет.

Задний план: Рассматриваемое веб-приложение - это форум на основе 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