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

Высокая загрузка ЦП на EC2 с Nginx / Celery / Django приводит к сбою сервера

Я запускаю веб-приложение Django на сервере EC2 с использованием Nginx и uWSGI. У меня также есть Celery, выполняющий некоторые фоновые задачи (без заданий CRON, только на случайные действия пользователя).

Приложение находится на ранней закрытой бета-версии, в настоящее время нет активных пользователей.

В течение последних трех дней сервер падал после сверхвысокой загрузки ЦП, по-видимому, случайно (см. Снимок экрана).

До этого приложение работало без проблем неделями. Я внес некоторые программные изменения на сайт, но не в конфигурацию сервера (в основном, объединяя модели).

Я попытался извлечь что-то из журналов (Nginx access.log, error.log и Django debug.log), но не вижу ошибок или странностей (у меня сейчас нет доступа к журналам).

Кроме того, я испытал аналогичный эффект при переносе изменений модели (в venv), если я не перезапустил сервер заранее. Иногда, даже при перезапуске сервера, он становился настолько медленным, что мне приходилось ждать несколько минут, пока Celery перезапустится.

Мне нужна помощь, чтобы найти отправную точку для исследования проблемы. Любые идеи?

После некоторого тестирования и оценки я увидел, что мое дисковое пространство заполнено на 99%. После очистки путем удаления файла журнала отладки Django, а также некоторых других файлов журнала, сервер стал намного более стабильным, за последние 24 часа не было никаких событий.

Это заставило меня реализовать некоторые дополнительные меры по мониторингу с помощью Nginx Amplify, который является отличным инструментом для выявления проблем с сервером.

Я считаю, что ЦП перешел на перегрузку, чтобы компенсировать нехватку места, и очистка диска решила проблему.