Я получаю это сообщение об ошибке, когда выполняю интенсивное задание в Wordpress:
[pool www] server reached pm.max_children setting (5), consider raising it
Использование Php-fpm 7 + Nginx на сервере 2 ГБ RAM.
Когда я запускаю:
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. Чтобы получить представление о том, что использовать для pm.max_children, вы можете использовать следующее вычисление: pm.max_children = Общий объем оперативной памяти, выделенной для web-сервера / Макс. размер дочерних процессов. Не забудьте оставить немного оперативной памяти для дополнительных сервисов, запущенных на вашей системе.
В зависимости от названия вашего сервиса, вы можете попробовать следующее:
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
У меня был немного другой случай, но я подумал, что стоит упомянуть его здесь. В моем случае причиной ошибки сервер достиг настройки pm.max_children
была неверная конфигурация перенаправления. Это поставило мой процесс WordPress в бесконечный цикл перенаправления, который забрал все процессы PHP машины. С точки зрения клиента браузер выдал ошибку 504 Время ожидания шлюза истекло
.
В моей конфигурации Nginx у меня было перенаправление с голого домена на www:
server_name akselipalen.com;
return 301 http://www.akselipalen.com;
Мне пришлось добавить $request_uri
к URL-адресу следующим образом:
server_name akselipalen.com;
return 301 http://www.akselipalen.com$request_uri;
Фактическая причина немного неизвестна, но кажется, что WordPress часто хочет перенаправить на другой URL-адрес. В моем случае я также только что переместил экземпляр WordPress с blog.akselipalen.com
на www.akselipalen.com
из настроек панели инструментов и обеспечил правильный новый siteurl
и home
через консоль mysql. Правильные настройки не помогли решить проблему, пока я не сделал обновление конфига перенаправления Nginx.