Сервер достиг настройки pm.max_children

Я использую веб-сайт WordPress под Nginx и FPM. В случае трафика он убивает процесс php, и сайт перестает работать для всех пользователей. Вот что я нашел из журнала.

Есть ли способ, которым этот веб-сайт не перестает работать, но если будет больше запросов, чем то, что мы настроили, будет занято один или иначе он не будет работать для этих новых пользователей, но для старого пользователя он работает нормально (не останавливайте весь веб-сайт).

[20-Mar-2016 03:34:01] NOTICE: error log file re-opened
[21-Mar-2016 05:51:44] WARNING: [pool www] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 8 children, there are 4 idle, and 27 total children
[23-Mar-2016 06:56:13] WARNING: [pool www] child 8707 exited on signal 11 (SIGSEGV) after 231123.827974 seconds from start
[23-Mar-2016 06:56:13] NOTICE: [pool www] child 14407 started
[23-Mar-2016 07:00:03] WARNING: [pool www] server reached pm.max_children setting (50), consider raising it
[23-Mar-2016 07:08:55] NOTICE: Terminating ...
[23-Mar-2016 07:08:55] NOTICE: exiting, bye-bye!
0
задан 23 March 2016 в 10:26
1 ответ

В зависимости от объема оперативной памяти вы можете использовать много больше дочерних PHP на вашем сервере.

Если вы не уверены, где находится файл конфигурации для FPM в вашем дистрибутиве, вы можете запустить следующую команду: grep -R max_children / etc

В этой статье довольно подробно объясняется просто, что вы должны делать. http://myshell.co.uk/blog/2012/07/adjusting-child-processes-for-php-fpm-nginx/

Кроме того, если включение кеширования является опцией, это , что ускорит работу сайта примерно в 10 раз.

1
ответ дан 4 December 2019 в 16:39

Теги

Похожие вопросы