Hypef、PHP-FPM 进程类型及作用

1.Hyperf 启动的进程类型及作用

Hyperf 基于 Swoole 扩展,其进程模型默认包含以下类型:

(1) 主进程(Master Process)

(2) 管理进程(Manager Process,可选)

(3) 工作进程(Worker Process)

(4) 任务进程(Task Worker Process)

(5) 其他进程(如 Reactor 线程)

2.PHP-FPM 启动的进程类型及作用

PHP-FPM(PHP FastCGI Process Manager)采用 Master/Worker 进程模型,通过不同类型的进程协作实现对PHP请求的高效处理。以下是其启动的进程类型及其作用:

1. Master 进程

作用

2. Worker 进程

作用

进程管理模式(pm 配置)

PHP-FPM 支持三种进程管理模式,影响 Worker 进程的数量和行为:

(1) 静态模式(Static)

配置参数pm = static
行为

(2) 动态模式(Dynamic)

配置参数pm = dynamic
行为

(3) 按需模式(Ondemand)

配置参数pm = ondemand
行为

进程间协作流程

  1. 请求到达:Web 服务器(如 Nginx)将 PHP 请求发送到 PHP-FPM 的监听端口/Socket。
  2. Master 分配:Master 进程将请求分发给空闲的 Worker 进程。
  3. Worker 处理:Worker 进程执行 PHP 脚本,生成响应结果。
  4. 结果返回:Worker 将响应返回给 Web 服务器,最终发送给客户端。
  5. 资源回收:Worker 进程释放资源,等待下一个请求。

关键配置参数

以下参数在 php-fpm.conf 或池配置文件中控制进程行为:

总结