1.2、进程池配置指令

pm

设置进程管理器如何管理子进程。
可用值:static,ondemand,dynamic。
必须设置。
个中:

为static时,该进程池能够创建的子进程数为 pm.max_children的值

phpfpm进程8phpfpm创立过程解释 Java

为dynamic时,该进程池启动时能够创建的子进程数为pm.start_servers的值。
最大值为 pm.max_children的值

2、指令关系

即全局配置文件process.max与进程池配置文件的pm.max_children关系

2.1、默认配置

进程池默认配置内容

pm = dynamic

pm.max_children = 5

pm.start_servers = 2

pm.min_spare_servers = 1

pm.max_spare_servers = 3

启动php-fpm,并查看进程关系

即当进程池为动态创建子进程时,默认启动的子进程数为pm.start_servers数。
其值=pm.min_spare_servers+(pm.max_spare_servers-pm.min_spare_servers)/2

2.2、修正进程池为static模式

配置文件内容

pm = static

pm.max_children = 5

pm.start_servers = 2

pm.min_spare_servers = 1

pm.max_spare_servers = 3

启动php-fpm,并查看进程关系

即当进程池为静态创建子进程时,默认启动的子进程数为pm.max_children数。
个中如pm.start_servers、pm.min_spare_servers、pm.max_spare_servers则被忽略

2.3、修正全局和进程池配置

全局

process.max = 4

进程池配置

pm = static

pm.max_children = 5

pm.start_servers = 2

pm.min_spare_servers = 1

pm.max_spare_servers = 3

启动php-fpm,并查看进程关系

即当前创建的子进程数为4个,而不是pm.max_children的值。
按照这种的办法,分别修正全局和进程池配置。
可以得到如下表的内容

总结: 在全局设置了process.max大小,则进程池个数由process.max和进程池所配置的进程数的最小值为主。