> php-fpm的进程数可以根据设置分为动态和静态。
静态:直接开启指定数量的php-fpm进程,不再增加或者减少; 动态:开始的时候开启一定数量php-fpm进程,当请求变大的时候,动态的增加php-fpm进程数到上限,当空闲的时候自动释放空闲进程数到一个下限。
这里先说一下涉及到这个的几个参数,他们分别是 pmpm.max_children``pm.start_serverspm.min_spare_servers
和 pm.max_spare_servers
。
pm表示用哪种方式,有两个值可以选择,就是static静态或者dynamic动态。在老一些的版本中,dynamic又被称作apache-like。这个要注意看配置文件给出的说明了。
> 下面4个参数的意思分别为:
pm.max_children
静态方式下开启的php-fpm进程数量; pm.start_servers
动态方式下的起始php-fpm进程数量; pm.min_spare_servers
动态方式下的最小php-fpm进程数量; pm.max_spare_servers
动态方式下的最大php-fpm进程数量。
dm
设置为 static
,那么就只有 pm.max_children
这个参数生效。系统会开启设置的数量个 php-fpm
进程。dm
设置为 dynamic
,那么 pm.max_children
参数会失效,后面3个参数生效。系统会在 php-fpm
运行开始的时候启动 pm.start_servers
个 php-fpm
进程,然后根据系统需求动态在 pm.min_spare_servers
和 pm.max_spare_servers
之间调整 php-fpm
进程数。