首页主机资讯如何监控Linux PHP-FPM性能指标

如何监控Linux PHP-FPM性能指标

时间2025-10-16 11:41:04发布访客分类主机资讯浏览973
导读:1. 使用系统自带命令行工具监控基础性能 通过Linux系统自带的命令行工具,可快速获取PHP-FPM进程的CPU、内存、连接等基础性能指标,适合日常快速排查: systemctl/status:查看PHP-FPM服务运行状态(是否act...

1. 使用系统自带命令行工具监控基础性能
通过Linux系统自带的命令行工具,可快速获取PHP-FPM进程的CPU、内存、连接等基础性能指标,适合日常快速排查:

  • systemctl/status:查看PHP-FPM服务运行状态(是否active)、启动时间、重启次数等。示例命令:sudo systemctl status php-fpm(若为systemd管理)。
  • top/htop:实时显示PHP-FPM进程的资源占用情况(CPU%、内存%)。可通过top -p $(pgrep php-fpm)(top)或htop -p $(pgrep php-fpm)(htop,需安装)过滤出PHP-FPM进程。
  • ps:查看PHP-FPM进程的详细信息(如启动时间、运行时长、内存占用)。示例命令:ps aux | grep php-fpm
  • netstat/ss:检查PHP-FPM监听的端口或Unix套接字状态(确认服务是否正常监听)。示例命令:sudo ss -tulnp | grep php-fpm(推荐,更现代)或netstat -tulnp | grep php-fpm
  • 日志分析:查看PHP-FPM错误日志(路径通常为/var/log/php-fpm.log/var/log/php/{ version} -fpm.log),获取错误、警告或慢请求信息。示例命令:sudo tail -f /var/log/php-fpm.log

2. 启用PHP-FPM内置状态页面获取实时指标
PHP-FPM内置状态页面可提供更详细的运行指标(如活跃进程数、空闲进程数、处理请求总数、慢请求数等),需先在配置文件中启用:

  • 配置步骤:编辑PHP-FPM池配置文件(通常位于/etc/php/{ version} /fpm/pool.d/www.conf),设置以下参数:
    pm.status_path = /status  # 状态页面路径
    ping.path = /ping         # 健康检查路径(可选)
    
  • 访问状态页面:若PHP-FPM通过Nginx代理,需在Nginx配置中添加location规则并授权访问。示例Nginx配置:
    location /status {
        
        fastcgi_pass   127.0.0.1:9000;
          # PHP-FPM监听地址
        fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
        
        include        fastcgi_params;
        
        allow          127.0.0.1;
               # 仅允许本地访问(生产环境需限制IP)
        deny           all;
    
    }
        
    
    访问http://server-ip/status即可查看实时指标(如active processesidle processestotal requests)。

3. 利用第三方监控工具实现长期可视化与告警
第三方工具可实现PHP-FPM指标的长期收集、可视化及阈值告警,适合生产环境:

  • Prometheus + Grafana
    • Prometheus:通过php-fpm-exporter(如wodby/php-fpm-exporter)采集PHP-FPM指标(如php_fpm_active_processesphp_fpm_idle_processesphp_fpm_requests_total),并存储到Prometheus时间序列数据库。
    • Grafana:添加Prometheus作为数据源,导入PHP-FPM监控仪表盘(如社区提供的PHP-FPM Exporter Dashboard),实现指标的可视化展示(如进程数趋势、请求量分布)。
  • Monit/Nagios
    • Monit:配置Monit监控PHP-FPM进程状态(是否运行)、资源占用(CPU> 80%、内存> 500MB时报警)。示例配置:
      check process php-fpm with pidfile /run/php/php-fpm.pid
          start program = "/usr/sbin/service php-fpm start"
          stop program = "/usr/sbin/service php-fpm stop"
          if cpu >
           80% for 5 cycles then alert
          if memory >
           500 MB for 5 cycles then alert
      
    • Nagios:通过check_php-fpm插件监控PHP-FPM状态页面的指标(如活跃进程数、慢请求数),设置阈值告警。
  • 商业APM工具:如New Relic、Datadog,提供PHP-FPM性能的全栈监控(从代码到基础设施),支持自动发现性能瓶颈(如慢查询、内存泄漏),并集成告警功能。

4. 配置慢日志定位性能瓶颈
通过慢日志记录执行时间超过阈值的PHP请求,帮助定位性能问题(如慢SQL、复杂代码):

  • 配置步骤:编辑PHP-FPM池配置文件,设置慢日志路径和超时阈值:
    slowlog = /var/log/php-fpm/slow.log  # 慢日志文件路径
    request_slowlog_timeout = 10s        # 执行时间超过10秒的请求记录为慢请求
    
  • 查看慢日志:使用tailless命令查看慢日志内容,分析慢请求的执行时间、调用栈等信息。示例命令:sudo tail -f /var/log/php-fpm/slow.log

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 如何监控Linux PHP-FPM性能指标
本文地址: https://pptw.com/jishu/727838.html
Python脚本在Linux上运行缓慢怎么办 PHP-FPM在Linux下的稳定性秘诀

游客 回复需填写必要信息