Назад | Перейти на главную страницу

Сервер php-Fpm 7 достиг pm.max_children

Я получаю это сообщение об ошибке, когда выполняю интенсивную работу в Wordpress:

[pool www] server reached pm.max_children setting (5), consider raising it

Использование Php-fpm 7 + Nginx на сервере ОЗУ 2 ГБ.

Когда я бегу:

ps aux | grep fpm

root      1508  0.0  1.5 367260 31380 ?        Ss   Nov05   0:11 php-fpm: master process (/etc/php/7.0/fpm/php-fpm.conf)
www-data 10231  0.0  2.7 453420 55540 ?        S    15:10   0:03 php-fpm: pool www
www-data 13266  0.0  2.4 449892 50900 ?        S    22:13   0:00 php-fpm: pool www
www-data 13572  0.0  1.8 372468 37740 ?        S    23:14   0:00 php-fpm: pool www
user+ 13721  0.0  0.0  14512   980 pts/0    R+   23:30   0:00 grep --color=auto fpm

Пытался следовать этому руководству, чтобы определить правильные настройки, которые мне нужны. http://bit.ly/2edUbir

Я не могу запустить эту команду, потому что она явно не поддерживается Php-fpm 7.

ps -ylC php-fpm --sort:rss

Чтобы изменить настройки, вам нужно будет найти свой php-fpm.conf или www.conf в зависимости от того, какая версия PHP-FPM у вас установлена. В моем случае мне пришлось отредактировать /etc/php/7.0/fpm/pool.d/www.conf. Вам нужно будет найти следующие настройки и внести изменения в соответствии со спецификациями вашего сервера:

[php-fpm-pool-settings]
pm = dynamic
pm.max_children = 25
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 20
pm.max_requests = 500

Чтобы понять, что использовать для pm.max_children, вы можете использовать следующий расчет: pm.max_children = Общий объем ОЗУ, выделенный для веб-сервера / Максимальный размер дочернего процесса. Не забудьте оставить немного оперативной памяти для дополнительных служб, которые вы используете в своей системе.

В зависимости от названия вашего сервиса вы можете попробовать следующее:

sudo systemctl restart php-fpm

sudo systemctl restart php7.0-fpm

следующая команда поможет нам определить объем памяти, используемый каждым дочерним процессом (PHP-FPM):

ps -ylC php-fpm --sort:rss

Вы можете проверить среднее использование памяти одним процессом PHP-FPM с помощью этой удобной команды:

ps --no-headers -o "rss,cmd" -C php-fpm | awk '{ sum+=$1 } END { printf ("%d%s\n", sum/NR/1024,"M") }'

Подробнее читайте в ссылках ниже. Узнать больше 1 Узнать больше 2

Эта команда поддерживается Php-Fpm 7. Используйте это ps -ylC php-fpm7.0 --sort:rss

Для php 7.3 используйте эту команду:

ps -ylC php-fpm7.3 --sort:rss