ubuntu

PHP在Ubuntu上如何进行性能监控与调优

小樊
37
2025-08-19 16:45:27
栏目: 编程语言

一、性能监控

  1. 系统资源监控

    • 使用 tophtop 实时查看CPU、内存占用,按 P/M 键按CPU/内存排序。
    • vmstatiostat 监控虚拟内存、磁盘I/O。
    • 通过 sar 收集系统性能数据。
  2. PHP-FPM监控

    • 查看状态页(需在配置中启用):http://localhost/status
    • 分析慢日志:在 php-fpm.conf 中设置 request_slowlog_timeout,查看 /var/log/php-fpm/slow.log
    • 使用 php-fpm-stat 命令行工具获取实时指标。
  3. 应用性能分析

    • Xdebug:生成调用图和性能分析文件,配合Webgrind/KCacheGrind可视化。
    • Xhprof:通过 xhprof_enable() 开启性能采样,分析函数耗时。
    • APM工具:如New Relic、Datadog,实时监控请求耗时、内存占用等。

二、性能调优

  1. PHP配置优化

    • 启用 OPcache:在 php.ini 中设置 opcache.enable=1,减少字节码编译开销。
    • 调整 PHP-FPM参数
      • pm.max_children:根据服务器资源设置最大子进程数。
      • pm.start_servers/pm.min_spare_servers:优化进程启动和空闲数量。
      • pm.max_requests:设置子进程处理请求上限,避免内存泄漏。
  2. 代码与缓存优化

    • Redis/Memcached 缓存热点数据,减少数据库查询。
    • 优化SQL查询:添加索引,避免全表扫描,使用 EXPLAIN 分析慢查询。
    • 减少循环嵌套,避免不必要的全局变量,及时释放资源(如 unset())。
  3. 系统级优化

    • 使用 Nginx 替代Apache,启用 keepalive 减少TCP连接开销。
    • 定期更新PHP版本,获取性能改进和安全补丁。
    • 通过 strace/perf 分析系统调用瓶颈,优化I/O或CPU密集型操作。

三、工具推荐

参考来源:[1,2,3,4,5,6,7,8,10,11]

0
看了该问题的人还看了