Получаю 502 Bad Gateway, php-fpm берет 100% процессора

Получаю 502 Bad Gateway, php-fpm берет 100% процессора

Хорошо, вчера вечером, около 2 часов ночи, на одном из моих серверов загрузка процессора достигла 100%. Когда я зашел сегодня утром, я увидел 5 процессов php-fpm, которые вместе занимали около 100% процессора. Я перезагрузил сервер, но каждый раз, когда сервер возвращается в рабочее состояние, процессы php-fpm запускаются снова и занимают 100% процессора.

Это сервер Ubuntu 14.04.3 LTS (GNU/Linux 3.13.0-32-generic x86_64), я обновил все программное обеспечение, но не могу получить никакой информации о причине этой проблемы.

Очевидно, что эта проблема приводит к тому, что веб-сайты, размещенные на сервере, находятся в автономном режиме и постоянно выдают либо ошибку 502 Bad Gateway, либо ошибку 504 Gateway Time-out...

Надеюсь, кто-нибудь сможет помочь это исправить.

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

ПРАВКА 1: Когда я смотрю на NewRelic, он показывает, что примерно в то же время, когда начались проблемы, на вкладке «Сеть» наблюдается огромный рост «Пакетов в секунду». Это должно быть как-то связано с проблемой...

решение1

У меня была похожая проблема с PHP-FPM, и он загружал процессор на 100% даже ночью, когда трафик был меньше.

Вам придется немного оптимизировать файлы конфигурации PHP-FPM. Убедитесь, что у вас есть эта запись:-

pm = по требованию pm.max_children = 2 pm.start_servers = 2 pm.min_spare_servers = 1 pm.max_spare_servers = 3

Если это не ondemand, то измените на ondemand, иначе PHP-FPM попытается занять много ресурсов ЦП. С ondemand он запустит больше процессов, когда в этом возникнет необходимость.

Файлы конфигурации для PHP-FPM находятся по адресу:

/etc/php5/fpm/php-fpm.conf

Также имеется пул, настроенный по адресу pool.d/www.conf.

Проверьте оба этих файла на наличие записей и соответствующим образом оптимизируйте указанные выше настройки, а затем перезапустите PHP-FPM.

Связанный контент