nginx中php-fpm的status查看
查看php-fpm的status
说明:php-fpm和nginx一样内建了一个状态页,对于想了解php-fpm的状态以及监控php-fpm非常有帮助
第一步:开启php-fpm配置文件中的pm.status_path,默认是没有开启,去掉前面的;即可开启
pm.status_path = /status
第二步:在nginx中需要查看php-fpm状态的server中添加重定向的location(location除了url之外,因为后面使用该url来访问查看状态,其他的fastcgi配置可以自增减,只要能保证nginx能与php-fpm连接即可)
location ~ /status {
root /data/web/;
fastcgi_pass fzjh; #地址和端口与php_fpm中设置的一致,这里使用了upstream名称
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
第三步:重启nginx和php-fpm
查看方式:可在浏览器中输入以下url或者在linux下curl + url 查看
查看状态的连接:假设第二步中的location是设置在一个叫www.tp.com的域名中,那么访问url是:www.tp.com/status
查看对应的有效进程使用url:www.tp.com/status?full
查看的数据用html方式显示:www.tp.com/status?html
查看的数据用json方式显示:www.tp.com/status?json
www.tp.com/statusde 查看的状态字段含义如下:
pool – fpm池子名称,大多数为www
process manager – 进程管理方式,值:static, dynamic or ondemand. dynamic
start time – 启动日期,如果reload了php-fpm,时间会更新
start since – 运行时长
accepted conn – 当前池子接受的请求数
listen queue – 请求等待队列,如果这个值不为0,那么要增加FPM的进程数量
max listen queue – 请求等待队列最高的数量
listen queue len – socket等待队列长度
idle processes – 空闲进程数量
active processes – 活跃进程数量
total processes – 总进程数量
max active processes – 最大的活跃进程数量(FPM启动开始算)
max children reached - 大道进程最大数量限制的次数,如果这个数量不为0,那说明你的最大进程数量太小了,请改大一点。
slow requests – 启用了php-fpm slow-log,缓慢请求的数量
查看对应的有效进程使用url:www.tp.com/status?full 对应进程中的状态字段含义如下:
pid – 进程PID,可以单独kill这个进程. You can use this PID to kill a long running process.
state – 当前进程的状态 (Idle, Running, …)
start time – 进程启动的日期
start since – 当前进程运行时长
requests – 当前进程处理了多少个请求
request duration – 请求时长(微妙)
request method – 请求方法 (GET, POST, …)
request URI – 请求URI
content length – 请求内容长度 (仅用于 POST)
user – 用户 (PHP_AUTH_USER) (or ‘-’ 如果没设置)
script – PHP脚本 (or ‘-’ if not set)
last request cpu – 最后一个请求CPU使用率。
last request memorythe - 上一个请求使用的内存