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 查看的状态字段含义如下:

nginx中php-fpm的status查看
 

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  对应进程中的状态字段含义如下:


nginx中php-fpm的status查看
 

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 - 上一个请求使用的内存