PHP-FPM 进程数怎么调
Linux系统
2026-10-15 17:47
4
进程数拍脑袋设,不是 502 就是内存爆。命令都会敲,差别在于知不知道每一步在改什么,出问题能不能退回去。
下面按“先判断范围、再处理、最后防复发”的顺序展开,涉及 PHP-FPM、pm.max_children 的关键动作都给了具体做法,可以照着走。
计算方式
可用内存 ÷ 单进程平均占用 = 上限。
条件允许的话先在测试环境走一遍,再动生产。
模式选择
pm=dynamic 适合大多数站点,static 适合稳定高并发。
容易踩的坑:另一个坑是照抄别人的参数,环境不同,参数就该重新算。
关键参数
max_children、start_servers、max_requests。
出现异常先回退到上一个已知可用状态,再慢慢找原因。
监控
fpm status 页看 active 与 listen queue。
常见问题
Q:PHP-FPM这类问题,最快的判断办法是什么?
先确认现象的范围:只有单台还是全部、只在某个时段还是持续。范围一缩小,原因基本就浮出来了。
Q:按文中的步骤做完,还需要注意什么?
把处理过程和最终生效的参数记下来。同类问题再出现时直接对照记录,比重查一遍快得多。
小结
回到这篇的四个环节:计算方式、模式选择、关键参数、监控。以上步骤按顺序做完,同类故障基本能自己处理。留一份操作记录,下次能省一半时间。