资讯专栏INFORMATION COLUMN

调整PHP-FPM(Nginx)的子进程

only_do / 1213人阅读

摘要:问题日志中出现以下警告消息这意味着没有足够的进程。平均每个进程在我的机器上占用大约的。的适当值可以计算为专用于服务器的总最大子进程大小在我的情况下是服务器有的,所以我留下了一些记忆,让系统呼吸。

问题:

日志中出现以下警告消息:

[26-Jul-2012 09:49:59] WARNING: [pool www] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 32 children, there are 8 idle, and 58 total children

[26-Jul-2012 09:50:00] WARNING: [pool www] server reached pm.max_children setting (50), consider raising it

这意味着没有足够的PHP-FPM进程。
解:

我们需要根据系统内存量来计算和更改这些值:

pm.max_children = (total RAM - RAM used by other process) / (average amount of RAM used by a PHP process)

/etc/php-fpm.d/www.conf

pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35

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

ps -ylC php-fpm --sort:rss

RSS列显示PHP-FPM进程的未交换的物理内存使用量(千字节)。

平均每个PHP-FPM进程在我的机器上占用大约75MB的RAM。

pm.max_children的适当值可以计算为:

pm.max_children =专用于Web服务器的总RAM /最大子进程大小 - 在我的情况下是85MB

服务器有8GB的RAM,所以:

pm.max_children = 6144MB / 85MB = 72

我留下了一些记忆,让系统呼吸。在计算内存使用情况时,您需要考虑在机器上运行的任何其他服务。

我已经改变了如下设置:

pm.max_children = 70
pm.start_servers = 20
pm.min_spare_servers = 20
pm.max_spare_servers = 35
pm.max_requests = 500

请注意,非常高的价值并不意味着任何好处。

您可以使用此方便的命令检查单个PHP-FPM进程的平均内存使用情况:

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

您可以使用上述相同的步骤来计算Apche Web服务器的MaxClients的值- 只需用httpd替换php-fpm。

原文:https://myshell.co.uk/blog/20...

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/29190.html

相关文章

  • 调整PHP-FPMNginx的子进程

    摘要:问题日志中出现以下警告消息这意味着没有足够的进程。平均每个进程在我的机器上占用大约的。的适当值可以计算为专用于服务器的总最大子进程大小在我的情况下是服务器有的,所以我留下了一些记忆,让系统呼吸。 问题: 日志中出现以下警告消息: [26-Jul-2012 09:49:59] WARNING: [pool www] seems busy (you may need to increase...

    anRui 评论0 收藏0
  • php-fpm的配置和优化

    摘要:等平台平台由于我开发以为主,所以就用的环境配置来学习。启动进程的用户和用户组,进程运行的用户必须要设置。模式模式,表示启动进程是动态分配的,随着请求量动态变化的。 centos等linux平台 /usr/local/php/php /usr/local/php/etc/php.ini /usr/local/php/sbin/php-fpm /usr/local/php/etc/php-...

    AZmake 评论0 收藏0
  • php-fpm的配置和优化

    摘要:等平台平台由于我开发以为主,所以就用的环境配置来学习。启动进程的用户和用户组,进程运行的用户必须要设置。模式模式,表示启动进程是动态分配的,随着请求量动态变化的。 centos等linux平台 /usr/local/php/php /usr/local/php/etc/php.ini /usr/local/php/sbin/php-fpm /usr/local/php/etc/php-...

    MarvinZhang 评论0 收藏0
  • php-fpm的配置和优化

    摘要:等平台平台由于我开发以为主,所以就用的环境配置来学习。启动进程的用户和用户组,进程运行的用户必须要设置。模式模式,表示启动进程是动态分配的,随着请求量动态变化的。 centos等linux平台 /usr/local/php/php /usr/local/php/etc/php.ini /usr/local/php/sbin/php-fpm /usr/local/php/etc/php-...

    JerryC 评论0 收藏0

发表评论

0条评论

only_do

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<