PHP-FPM运行状态的实时查看及监控详解

yipeiwu_com6年前PHP代码库

前言

大家都知道PHP-FPM内置了状态页,开启后可查看PHP-FPM的详细运行状态,给PHP-FPM优化带来帮助。

打开php-fpm.conf,配置php-fpm状态页选项

pm.status_path = /phpfpm_status

配置nginx.conf,添加可访问server

server {
  listen 80;
  server_name 127.0.0.1;
  location /phpfpm_status {
    fastcgi_pass 127.0.0.1:9000;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
  }
}

重启或重载nginx,和php-fpm

service php-fpm restart
service nginx restart

浏览器访问结果:


可通过带不同参数查看php-fpm status输出格式:

http://www.foo.bar/status #默认纯文本
http://www.foo.bar/status?json #json格式
http://www.foo.bar/status?html #html格式
http://www.foo.bar/status?xml #xml格式
 
#full参数可查看进程详细信息
http://www.foo.bar/status?full
http://www.foo.bar/status?json&full
http://www.foo.bar/status?html&full
http://www.foo.bar/status?xml&full

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,缓慢请求的数量

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

相关文章

详解PHP执行定时任务的实现思路

PHP本身是没有定时功能的,PHP也不能多线程。PHP的定时任务功能必须通过和其他工具结合才能实现,例如WordPress内置了wp-cron的功能,很厉害。 一、Linux服务器上使用...

php生成SessionID和图片校验码的思路和实现代码

/****** 产生Session ID ******/ 基本的思路: 是把当前微秒的时间获取, 然后产生以个随机数字, 把随机数字和当前时间相加后加密一下, 最后再截取需要的长度...

php通过排列组合实现1到9数字相加都等于20的方法

本文实例讲述了php通过排列组合实现1到9数字相加都等于20的方法。分享给大家供大家参考。具体实现方法如下: <?php set_time_limit(0); /* 函...

php实现的中文分词类完整实例

本文实例讲述了php实现的中文分词类。分享给大家供大家参考,具体如下: 该中文分词类源码使用http://tools.jb51.net/code/jb51_php_format进行了格式...

深入解析Session是否必须依赖Cookie

php中的session可以默认情况下是使用客户端的cookie(以便和普通意义上的cookie区别,我称之为session cookie,普通意义上的cookie为cookie)来保存...