问题背景
网站遭遇并发访问卡顿,常见原因之一是PHP-FPM进程池配置与服务器硬件资源不匹配。通过1Panel面板调整PHP-FPM相关参数,可在不修改代码的前提下有效提升响应速度。
核心参数调整
1. 进程管理方式
在1Panel中进入网站 → 选择对应站点 → PHP-FPM配置,可切换进程管理策略:
- dynamic:动态模式,根据请求量动态调整子进程数,适合大多数场景。
- ondemand:按需创建,空闲后销毁进程,节省内存但响应稍慢。
- static:固定进程数,高并发稳定但占用资源固定。
2. 关键参数推荐区间
- pm.max_children:最大子进程数,建议根据内存计算:
可用内存 / 单个PHP进程平均内存(可通过 ps aux | grep php-fpm 查看)。 - pm.start_servers:启动时进程数,建议为 max_children 的 25%~50%。
- pm.min_spare_servers:空闲最少进程数。
- pm.max_spare_servers:空闲最多进程数,避免频繁创建销毁。
- pm.max_requests:每个子进程处理请求数上限,建议 500~1000,防止内存泄漏累积。
调整步骤
- 登录1Panel面板,进入“网站”菜单。
- 选择目标站点,点击“配置文件”或“PHP-FPM”标签。
- 修改参数后点击保存,然后重启PHP服务(1Panel会提示重载)。
注意事项
- 调整后需观察CPU、内存占用及请求响应时间,逐步修改,避免一次性设置过大导致资源耗尽。
- 若服务器为低配(如1核1G),建议采用
ondemand 模式并降低 max_children。 - 结合OPcache加速可进一步提升PHP执行效率。
验证效果
使用Apache Bench或在线压力测试工具进行并发测试,对比调整前后QPS(每秒请求数)和平均响应时间。记录测试结果,持续优化。