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

前端之家收集整理的这篇文章主要介绍了nginx – 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.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 =专用于Web服务器的总RAM /最大子进程大小.请记住留出一些RAM,以便在系统上运行额外的服务.

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

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") }'

更多细节阅读Bellow Links
Read More 1 Read More 2

猜你在找的Nginx相关文章