PHP-FPM 是 PHP 站点性能的核心。默认配置下并发一上来就 502/504,这里分享一套从进程管理到慢日志的调优顺序。
进程模型选对
- pm = dynamic:常用。设 pm.max_children 为本机内存决定
- pm = static:固定池,稳定但浪费资源
- pm = ondemand:有请求才拉起,省内存但冷启动慢
估算 max_children
# 每进程约 30-50MB\nmax_children ≈ (内存 - 系统占用) / 50MB 慢日志必开
slowlog = /var/log/php-fpm-slow.log\nrequest_slowlog_timeout = 2s 开了慢日志,脚本卡在哪一目了然,比瞎调参数有效得多。