Php-Fpm 7服务器达到了pm.max_children

我在Wordpress中运行密集作业时收到此错误消息:

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

在2GB RAM服务器上使用Php-fpm 7 + Nginx。

当我运行:

 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版本来查找您的php-fpm.conf或www.conf。 在我的情况下,我不得不编辑/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 =专用于Web服务器的RAM总数/最大subprocess大小。 记得留下一些RAM,以便在系统上运行额外的服务。

根据您的服务名称,您可以尝试以下操作:

 sudo systemctl restart php-fpm sudo systemctl restart php7.0-fpm 

以下命令将帮助我们确定每个(PHP-FPM)subprocess使用的内存:

 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