mac系统,如何控制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,则由一系列参数控制。测试环境:mac。
查看配置文件路径
php-fpm加载的哪个配置文件呢?可以通过下面的语句来查看:
同时也可以通过上述命令查看到php-fpm的进程数量。
ps aux|grep php-fpm设置为固定数量的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的文章,请点击这里查看。




