SEO 百科
PHP-FPM
本页目录
PHP-FPM
PHP-FPM 是 PHP 的一种进程管理器实现,通过 FastCGI 接收请求,请求由 Web 服务器转来,用一组常驻 worker 进程执行脚本并返回响应[1]。它是 WordPress、多数开源 CMS、自建 PHP 站点,在 Nginx 后面的标准搭配[2]。
池的配置是核心
它的行为由池配置决定:worker 数量、每个进程可处理的请求数、启动方式(静态、动态、按需)[1]。这三个参数一起决定并发能撑到多少,也决定内存占用。
判断方式很朴素:给足并发压一轮,看是否出现请求排队与响应变慢,再看内存是否触顶。进程数设得过大时,内存耗尽会换来 502,抓取端表现为服务器错误[3]。
三条与搜索相关的链路
响应时间。PHP 页面每次请求都要执行脚本,慢的插件与未缓存的查询直接抬首字节时间,加载性能是核心 Web 指标衡量的一项[4]。
超时链条。Nginx 侧的读超时与 FPM 侧的执行超时都要看,任一端过短都会截出半截页面。
Opcode 缓存。开启字节码缓存能显著减少重复编译,是这一层最常见的提速项[1]。
升级时要做的两件事
先看版本支持矩阵,PHP 各版本有维护期限,跑旧版本会同时带来安全与兼容问题[2]。再逐项验证扩展与框架兼容,在测试环境跑完整回归,改版与升级都按迁移那条流程处理。
常见误用
第一种是把 worker 数当性能旋钮无脑加大,内存先撑不住。第二种是不开字节码缓存,每次都重新编译脚本[1]。第三种是把慢页面归因到服务器带宽,实际是插件与数据库查询。
附录
参见
参考资料
官方(境外)
- 《PHP-FPM 文档》,PHP。
- 《WordPress Requirements》,WordPress Make。
- 《Google 搜索中的 HTTP 与网络错误》,Google 搜索中心。
- 《了解 Core Web Vitals 和 Google 搜索结果》,Google 搜索中心。
外部链接
- OPcache,PHP。