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

  • 03.11.2017
  • 19 800
  • 2
  • 18.03.2019
  • 18
  • 16
  • 2
Ошибка 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 атака.

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

Комментарии к статье (2)

    • Гость

    заинтересовал больше последний абзац

    • Алешка

    Спасибо!
    Сайт после правки взлетел.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

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