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

  • 1 172
  • 0
  • 80,00%
  • 4

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



Оценить статью

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5
(Голосов: 4, Рейтинг: 4,00 из 5,00)

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

Ваш e-mail не будет опубликован.