я получил Nagios критического предупреждения о сервере, и когда я проверил ps -aux
я обнаружил, что все Nginx (PHP-футы в минуте) в Бесперебойном снеPHP-FPM процессы падает в Бесперебойном сне
www-data 1330 0.4 0.3 299992 108560 ? D 16:06 0:16 php-fpm: pool www
www-data 1338 0.4 0.2 254728 92728 ? D 16:06 0:16 php-fpm: pool www
www-data 1346 0.4 0.3 293544 100272 ? D 16:06 0:17 php-fpm: pool www
www-data 1356 0.7 0.3 302504 101532 ? D 16:06 0:29 php-fpm: pool www
www-data 1357 0.3 0.2 270672 85952 ? D 16:06 0:13 php-fpm: pool www
....
и я был застрял с ним и не мог даже перезапустить nginx. и, наконец, я перезапускаю сервер, чтобы исправить проблему! и сегодня проблема повторилась и мне удалось перезапустить php5-FPM, который снижает нагрузку на сервер от 300 до 1.xx
хотя у меня есть это в /etc/php5/fpm/php.ini
emergency_restart_threshold=10
emergency_restart_interval=1m
process_control_timeout=10s
который означает, что php5-fpm предполагается перезапустить в таких случаях, но это не так!
любая идея о том, что может привести к тому, что эти процессы перейдут в состояние бесперебойного сна и как избежать такого случая в будущем?
Собственно, загрузка сервера 300 не является нормальной. Я думаю, что это основная причина, почему ваши php-fpm-процессы работали неправильно. Вы видели журнал ошибок php-fpm? Попробуйте включить режим отладки для всех пулов php-fpm –
, как я упомянул ,,, php5-fpm вызывал эту нагрузку. он стал меньше 2 после перезапуска php5-fpm. – Alaa
Возможно, что некоторый php-модуль поддерживает весь php-fpm-ребенок. У вас есть нестандартные php-модули? Где вы получили php-fpm (из пакета rpm или скомпилированы из источника)? Попытайтесь получить исходный код и скомпилировать php для собственных нужд. –