php-fpm开启状态统计

启用php-fpm状态功能

1
2
$ cat /usr/local/php/etc/php-fpm.conf | grep status
pm.status_path = /php-fpm_status

nginx配置

默认主机里面加上location

1
2
3
4
5
6
7
location ~ ^/(php-fpm_status|ping) {
fastcgi_pass unix:/dev/shm/php-cgi.sock; //如果你不是用的sock,改为对应端口
include fastcgi.conf;
access_log off;
allow 127.0.0.1;
deny all;
}

访问测试

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$ curl 127.0.0.1/php-fpm_status
pool: www
process manager: dynamic
start time: 12/May/2017:13:12:55 +0800
start since: 25552
accepted conn: 8649
listen queue: 0
max listen queue: 0
listen queue len: 0
idle processes: 13
active processes: 1
total processes: 14
max active processes: 7
max children reached: 0
slow requests: 0

php-fpm status详解

pool - fpm池子名称,大多数为www
process manager – 进程管理方式,值:static, dynamic
start time – 启动日期,如果reload了php-fpm,时间会更新
start since – 运行时长
accepted conn – 当前池子接受的请求数
listen queue – 请求等待队列,如果这个值不为0,那么要增加FPM的进程数量
max listen queue – 请求等待队列最高的数量
listen queue lensocket等待队列长度
idle processes – 空闲进程数量
active processes – 活跃进程数量
total processes – 总进程数量
max active processes – 最大的活跃进程数量(FPM启动开始算)
max children reached - 大道进程最大数量限制的次数,如果这个数量不为0,那说明你的最大进程数量太小了,请改大一点。
slow requests – 启用了php-fpm slow-log,缓慢请求的数量

php-fpm其他参数

php-fpm状态页比较个性化的一个地方是它可以带参数,可以带参数jsonxmlhtml并且前面三个参数可以分别和full做一个组合
请自行尝试url?php-fpm_status?json

当前网速较慢或者你使用的浏览器不支持博客特定功能,请尝试刷新或换用Chrome、Firefox等现代浏览器