2016-12-06 85 views
-1

我有一行php脚本,它使用getmypid()打印出PID,每当脚本通过FPM调用PID更改时,但我希望pid是相同的。我认为FPM的全部重点是每一次都不会产生新的进程,从而让事情变得更快?PHP-FPM为每个请求启动一个新进程是否正确?

+0

这是一个*全新的*每一次?或者它是否是* set *的PID之一?一个集合,可能包含* n *个不同的PID,其中* n *是您的机器的CPU线程数量? –

回答

0

Franz Gleichmann是正确的,游泳池比我想象的要大。

0

这样,你可能需要在你的www.conf文件(或者任何配置文件取决于你的操作系统)中理解一下php fpm配置。因此,取决于您的配置,FPM通常会根据您的需求分配更多的孩子,从而获得不同的pid编号。

选择进程管理器将如何控制子进程数 进程。

可能的值:
静态 - 子的固定数量(pm.max_children)处理

动态 - 子进程的数量被设定动态地基于以下指令。通过这个流程管理,总会有至少一个孩子。

pm.max_children - 可以同时活着的孩子的最大数量。
pm.start_servers - 启动时创建的子女数量。

pm.min_spare_servers - 处于“闲置”状态(等待处理)的最小儿童人数。如果“空闲”进程的数量少于这个数字,则会创建一些 孩子。
pm.max_spare_servers - “闲置”状态(等待处理)的最大儿童人数。如果“空闲”进程的数量大于这个数字,那么有些孩子将会被杀死。

ondemand - 在启动时不会创建子节点。当有新的请求连接时,孩子们会分手。

下面的参数使用:

pm.max_children - 孩子们可以在同一时间是活着的最大数量。

pm.process_idle_timeout - 空闲进程将被终止的秒数。注意:该值是强制性的。

相关问题