Я использую сайт на Django на Nginx с сервером FastCGI.Сайт вообще отлично работает.Но каждые 2-3 дня сайт сталкивается с неизвестной проблемой и перестает отвечать на любые запросы.
Графики Munin показывают, что количество операций чтения-записи в секунду увеличивается на 500% во время проблемы.
Iтакже написал скрипт на python для записи следующей статистики каждую минуту.
Load Averages
CPU Usage (user, nice, system, idle, iowait)
RAM Usage
Swap Usage
Number of FastCGI Processes
RAM Used by FastCGI Processes
Запись показывает, что во время задачи число процессов FastCGI удвоилось (с нормального значения от 10-15 до 25-30).И использование оперативной памяти процессами FastCGI также удвоилось (с 17% до 35% от общего объема оперативной памяти на сервере).Увеличение использования памяти потребовало большего количества подкачки, чтобы замедлить дисковый ввод-вывод, из-за чего сервер не отвечал.
Параметры FastCGI, которые я использовал:
maxspare=10 minspare=5 maxchildren=25 maxrequests=1000
Я думаю, что проблема связана с плохо написаннымКод Python в какой-то части моего сайта.Но я просто не знаю, как узнать, какая часть кода заморозила существующие процессы FastCGI и создала новые экземпляры.