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

yipeiwu_com7年前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查找任何页面上的所有链接的方法

使用DOM,你可以轻松从任何页面上抓取链接,代码示例如下: 复制代码 代码如下: $html = file_get_contents('http://www.example.com');...

php合并数组array_merge函数运算符加号与的区别

array_merge在参考手册中的说明如下: array_merge() 将两个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。 如果输入的数组中有...

PHP内置加密函数详解

Md5()加密算法 方式: 单向加密 语法: md5(string $str [, bool $raw_output = false]) $str:原始字符串 $raw_output:如...

php设计模式 Interpreter(解释器模式)

复制代码 代码如下: <?php /** * 解释器 示例 * * @create_date: 2010-01-04 */ class Expression { function...

php session劫持和防范的方法

session 数据暴露会话数据常会包含一些个人信息和其它敏感数据。基于这个原因,会话数据的暴露是被普遍关心的问题。一般来说,暴露的范围不会很大,因为会话数据是保存在服务器环境中的,而不...