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

Невозможно диагностировать простои / проблемы с памятью с помощью Apache и mod_wsgi

У меня есть экземпляр Ubuntu EC2 (t1.micro, 600 МБ ОЗУ), на котором запущен mod_wsgi на Apache для обслуживания приложения Django. Все это стоит за балансировщиком нагрузки.

Проблема, с которой я постоянно сталкиваюсь, заключается в том, что я могу работать всего несколько дней, прежде чем мой сайт выйдет из строя и я начну получать статус 503. Мой рекорд составляет около 4 недель без простоев. Перезапуск apache не помогает, обычно мне приходится полностью останавливать и перезапускать инстанс EC2.

Я пробовал использовать Dowser для диагностики утечек памяти, но ничего не выделялось. Я пробовал настроить mpm_prefork. Я не использую никаких модулей расширения C, для любых внешних вызовов API установлены тайм-ауты, и у меня есть только два задания cron, которые запускаются один раз в день. Мои журналы доступа не показывают ничего необычного, что указывало бы на DDOS.

Я совершенно не понимаю, что вызывает постоянное отключение сервера.

Вот результат работы apachectl status во время простоя:

А вот заодно вывод htop:

Это мои предварительные настройки:

<IfModule mpm_prefork_module>
    StartServers              5
    MinSpareServers           5
    MaxSpareServers          10
    MaxRequestWorkers         40
    MaxConnectionsPerChild   0
</IfModule>

Должен ли я просто перейти на более крупный экземпляр EC2? Или обновить mod_wsgi (так как у меня более старая версия)? Я пробовал все с точки зрения Django, поэтому я начинаю думать, что у меня просто неправильно настроен mod_wsgi ...