![Получаю 502 Bad Gateway, php-fpm берет 100% процессора](https://rvso.com/image/668053/%D0%9F%D0%BE%D0%BB%D1%83%D1%87%D0%B0%D1%8E%20502%20Bad%20Gateway%2C%20php-fpm%20%D0%B1%D0%B5%D1%80%D0%B5%D1%82%20100%25%20%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%D0%BE%D1%80%D0%B0.png)
Хорошо, вчера вечером, около 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.