1. 命令行工具监控(基础实时监控)
systemctl status php-fpm查看服务是否运行、最近日志条目;systemctl start php-fpm/systemctl restart php-fpm启动或重启服务。top -p $(pidof php-fpm)可过滤出PHP-FPM进程;htop(需yum install htop安装)提供更直观的交互界面。ps aux | grep php可查看进程ID、CPU/内存使用率、运行时间等。netstat -tuln | grep php-fpm或ss -tuln | grep php-fpm,确认服务是否正常监听。2. PHP-FPM专用监控(精准掌握PHP进程状态)
/etc/php-fpm.d/www.conf)中启用统计功能(pm.status_path = /status),重启服务后通过curl http://localhost/status查看实时状态(需配置Web服务器允许访问该路径),可获取活跃进程数、空闲进程数、请求处理时间等指标。/var/log/php-fpm/error.log),通过tail -f /var/log/php-fpm/error.log实时监控错误信息(如语法错误、超时、内存耗尽),快速定位问题。3. 性能分析工具(深入代码瓶颈)
pecl install xdebug),在php.ini中启用(zend_extension=xdebug.so),配置xdebug.profiler_enable=1生成性能分析文件。使用Webgrind或KCacheGrind可视化分析,查看函数调用时间、内存占用等。curl -A "Composer" https://installer.blackfire.io/ | bash),配置后通过$blackfire->start()/$blackfire->stop()包裹代码进行剖析。生成的报告包含内存使用、SQL查询、调用链等详细信息,帮助定位性能瓶颈。pecl install xhprof),在代码中开启分析(xhprof_enable(XHPROF_FLAGS_CPU | XHPROF_FLAGS_MEMORY)),结束后保存数据到/tmp目录。通过XHProf Web界面查看函数级别的性能数据(如CPU时间、内存消耗)。4. 第三方APM工具(全栈监控与可视化)
yum install newrelic-php),配置许可证密钥后,可在平台上查看实时性能指标、错误日志、用户行为等,支持自定义警报。5. 自定义监控脚本(灵活定制需求)
ps aux | grep php-fpm | wc -l统计进程数),结合mail命令发送警报(如进程数为0时通知管理员)。可将脚本添加到Cron定时任务(如*/5 * * * * /path/to/script.sh),实现定期自动监控。