PHP php-fpm 有哪些子进程运行方式?

答案

这个是 php-fpm.conf 配置文件中 pm 控制项,主要是采用何种方式来控制子进程数量,主要有3中方式:

  • static固定模式,固定有nn >= 1)个,既不会增加也不会减少。

  • dynamic动态模式,至少有1个,启动 pm.start_servers 个,最多可以启动 pm.max_children 个。如果子进程有空闲,且个数小于 pm.min_spare_servers,则补齐到pm.min_spare_servers,如果大于 pm.max_spare_servers,则降低到 pm.max_spare_servers。这种模式在正式环境中使用比较多。

  • ondemand按需启动,没有请求时没有子进程,有请求时启动。最多可以启动 pm.max_children 个,如果有空闲,子进程经过 pm.process_idle_timeout 后会被杀掉,最终没有任何子进程。这种模式使用最少,主要是节省服务器资源,空闲后首次启动,响应较慢。