如何控制php-fpm的进程数?
发布于 作者:苏南大叔 来源:程序如此灵动~苏南大叔在上一篇文章(https://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
有段间距。所以,可以据此进行区分。
设置为动态数量的dynamic
模式
编辑php-fpm.conf
中pm
为dynamic
,然后修改:pm.max_children
、pm.start_servers
、pm.min_spare_servers
、pm.max_spare_servers
值即可。
pm = dynamic
如果选择dynamic
,则由下开参数决定:
pm.max_children # 子进程最大数
pm.start_servers # 启动时的进程数
pm.min_spare_servers # 保证空闲进程数最小值,如果空闲进程小于此值,则创建新的子进程
pm.max_spare_servers # 保证空闲进程数最大值,如果空闲进程大于此值,此进行清理
总结
结合前几篇文章,你就可以自由控制php-fpm
,配置phptrace
来查看php
的堆栈信息了。更多苏南大叔的php-fpm
的文章,请点击这里查看。



本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享。
转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议。
未经许可,规模化镜像抄袭本站内容的行为,将会根据有关法律法规进行维权。
《程序如此灵动~》下所有原创文章,如被用于商业用途,请您按规定支付稿费。
转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议。
未经许可,规模化镜像抄袭本站内容的行为,将会根据有关法律法规进行维权。
《程序如此灵动~》下所有原创文章,如被用于商业用途,请您按规定支付稿费。
本站的忠实读者小伙伴,正在阅读下面这些文章: