Ошибка server reached pm.max_children setting (5), consider raising it

  • 03.11.2017
  • 5 841
  • 0
  • 18.03.2019
  • 2
  • 1
  • 1
Ошибка server reached pm.max_children setting (5), consider raising it

При резком скачке посещаемости сайта, может сложиться такая ситуация, что вебсервер в связке с 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 атака.

Была ли эта статья Вам полезна?

Добавить комментарий

Ваш адрес email не будет опубликован.

Напоминаем Вам, что Ваше сообщение будет опубликовано только после проверки администратором сайта. Обычно это занимает 1-2 рабочих дня.