潇湘夜雨移动版

主页 > 软件与服务 >

php-fpm连接状态监测

说明:
php-fpm和nginx一样,内建了个状态页,可以通过该状态页了解监控php-fpm的状态
 
具体:
1. php-fpm.conf开用php-fpm状态功能
 
# grep pm.status_path /usr/local/php/etc/php-fpm.conf
pm.status_path = /phpfpm_status
默认情况下为/status,当然也可以改成/phpfpm_status等,我这里是改成/phpfpm_status啦
 
2. nginx配置
在默认主机里面加上location或者你希望能访问到的主机里面。
 
server {
        listen 80;
        server_name 127.0.0.1;
        location /nginx_status {
                stub_status on;
                access_log off;
        }
        location /phpfpm_status {
                fastcgi_pass  127.0.0.1:9000;
                include fastcgi_params;
                fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
        }
}
 
3. 重启nginx、php-fpm使配置生效
 
# /etc/init.d/nginx restart
# /etc/init.d/php-fpm restart
 
4. 打开status页面
 
# curl http://127.0.0.1/phpfpm_status
pool:                 www
process manager:      static
start time:           26/Oct/2016:00:07:24 +0800
start since:          387
accepted conn:        5888
listen queue:         0
max listen queue:     121
listen queue len:     128
idle processes:       249
active processes:     1
total processes:      250
max active processes: 250
max children reached: 0
slow requests:        0
 
5. 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,缓慢请求的数量
(责任编辑:liangzh)