centos

php-fpm在centos上的性能瓶颈在哪

小樊
33
2025-11-17 18:51:32
栏目: 编程语言

定位思路与快速检查

常见瓶颈与对策

瓶颈点 典型症状 快速验证 优化要点
进程数与内存 内存占用高、频繁回收/重启、偶发502 top/htop、ps 统计进程数、dmesg/OOM 合理设置pm.max_children;动态模式下调start/min_spare/max_spare;必要时用pm.max_requests定期重启释放泄漏
进程模型不当 高峰期排队、低峰期资源浪费 观察请求排队与进程数波动 负载稳定偏static,波动大用dynamic;按内存与CPU核数调参
代码与数据库 个别接口RT高、吞吐上不去 Slow Log、MySQL 慢查询 启用OPcache;SQL加索引、分页/缓存;热点数据上Redis/Memcached
反向代理与静态资源 PHP进程被静态资源占用 access.log 中静态资源命中 Nginx直接服务静态资源,PHP只处理动态请求
日志与监控不足 问题难复现、定位慢 无慢日志或指标缺失 开启PHP-FPM Slow Logrequest_terminate_timeout;接入Zabbix/Nagios/Munin做容量与异常告警

关键配置与计算示例

建议的排查顺序

  1. 先用free -m、top/htop、ps确认是否“进程过多→内存吃紧”。
  2. 打开并分析PHP-FPM Slow LogNginx/Apache 访问日志,定位慢接口与热点URL。
  3. 检查MySQL 慢查询日志,补齐索引、优化SQL、引入缓存。
  4. 调整pm相关参数与OPcache,对比前后RT、吞吐、失败率
  5. 接入监控告警(进程数、内存、5xx、响应时间),持续压测与滚动优化。

0
看了该问题的人还看了