Ошибка server reached pm.max_children setting (5), consider raising it
- AJIekceu4
- 03.11.2017
- 19 800
- 2
- 18.03.2019
- 18
- 16
- 2
- Содержание статьи
При резком скачке посещаемости сайта, может сложиться такая ситуация, что вебсервер в связке с php не смогут обслуживать такое большое число число клиентов, в результате в логах php могут появляться ошибки такого вида:
WARNING: [pool www] server reached pm.max_children setting (5), consider raising it
В результате страницы сайта будут выдавать ошибку 503.
Описание
Чтобы это исправить, необходимо внести небольшие изменения в настройки php. В примере ниже, будет использоваться php7.0-fpm
Необходимо открыть для редактирования файл /etc/php/7.0/fpm/pool.d/www.conf
Найти в нем параметр pm.max_children и изменить значение на большее.
pm.max_children = 10
В зависимости от настройки параметра pm.max_spare_servers в том же файле конфигурации, сервер сможет обслуживать одновременно максимум pm.max_spare_servers*pm.max_children. Т.е. при условии, что pm.max_spare_servers = 4, одновременно будут работать 4*10=40 параллельных процессов php.
В том случае, если даже после увеличения параметра pm.max_children, будет продолжать вылазить такая ошибка, то необходимо будет подробнее разбираться с ее причинами. Например, это может быть из-за того, что какой то скрипт на сайте очень долго выполняется (секунды) и из-за этого накапливается большое количество незавершенных процессов, которые превышают установленный лимит (40 в нашем примере). Либо на сайт осуществляется целенаправленная DDoS атака.
Добавить комментарий