如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留链接信息。

苏南大叔在上一篇文章(http://newsn.net/say/php-fpm-command.html)中,向大家介绍了php-fpm的配置文件修改及生效的事情。那么在本篇文章中,就带着大家实战一次。我们来修改一下php-fpm的进程数量。修改这个有什么用呢?在phptrace的时候,如果有很多个php-fpm都一并存在的话,是不是就不知道改attach哪个pid了?本篇文章就可以解决这个痛点。

如何控制子进程,选项有static和dynamic。如果选择static,则由pm.max_children指定固定的子进程数。对于专用服务器,pm值可以设置为static。如果选择dynamic,则由一系列参数控制。

设置为固定数量的static模式

编辑php-fpm.conf中pm为static,pm.max_children值即可。注意,即使把max_children设置为1,在ps的时候,也会至少看到两个php-fpm信息,据说一个是主进程,另外的是worker进程。worker进程的pid号是连续的,和主进程的pid有段间距。所以,可以据此进行区分。

如何控制php-fpm的进程数 - 004

如何控制php-fpm的进程数 - 001

设置为动态数量的dynamic模式

编辑php-fpm.conf中pm为dynamic,pm.max_children,pm.start_servers,pm.min_spare_servers,pm.max_spare_servers值即可。

如何控制php-fpm的进程数 - 002

pm = dynamic 

如果选择dynamic,则由下开参数决定:

pm.max_children # 子进程最大数
pm.start_servers # 启动时的进程数
pm.min_spare_servers # 保证空闲进程数最小值,如果空闲进程小于此值,则创建新的子进程
pm.max_spare_servers # 保证空闲进程数最大值,如果空闲进程大于此值,此进行清理

结合前几篇文章,你就可以自由控制php-fpm,配置phptrace来查看php的堆栈信息了。更多苏南大叔的php-fpm的文章,请点击这里查看。https://newsn.net/tag/php-fpm/

本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享。
转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议。
程序如此灵动~》下所有原创文章,如被用于商业用途,请您按规定支付稿费。