使用php-fpm状态页观察当前的php-fpm状态
对于php-fpm的參数设置,非常多情况下有这种疑问,就是内置的几个參数比如pm.max_children,pm.start_servers等这几个參数究竟该设置最多为多少才合适。事实上这几个參数往往取决于当前的连接数情况,而大多数情况下,我们非常难断定当前的连接数情况对于我们的pm等几个參数是否合适。所以借助于php-fpm状态页能够非常方便的告诉我们这几个參数的设置是否合适。
要开启php-fpm的状态页事实上非常easy在nginx的配置文件里增加:
location /status {
auth_basic "status page";
auth_basic_user_file /etc/nginx/login;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
}
上面的auth_basic和auth_basic_user_file不是必须的,但这些都是敏感信息,一般不能让其他人看到,所以这里做了认证。在php-fpm.conf中打开:
pm.status_path = /status
然后在浏览器中打开localhost/status就能够查看到当前的状态信息了
pool: www
process manager: dynamic
start time: 17/Aug/2014:15:25:50 -0400
start since: 7702
accepted conn: 1486
listen queue: 0
max listen queue: 129
listen queue len: 128
idle processes: 9
active processes: 1
total processes: 10
max active processes: 20
max children reached: 2
slow requests: 0
以下介绍每一个參数的作用:
pool:php-fpm池的名称,一般都是应该是www
process manage:进程的管理方法,php-fpm支持三种管理方法,各自是static,dynamic和ondemand,普通情况下都是dynamic
start time:php-fpm启动时候的时间,无论是restart或者reload都会更新这里的时间
start since:php-fpm自启动起来经过的时间,默觉得秒
accepted conn:当前接收的连接数
listen queue:在队列中等待连接的请求个数,假设这个数字为非0,那么最好添加进程的fpm个数
max listen queue:从fpm启动以来,在队列中等待连接请求的最大值
listen queue len:等待连接的套接字队列大小
idle processes:空暇的进程个数
active processes:活动的进程个数
total processes:总共的进程个数
max active processes:从fpm启动以来,活动进程的最大个数,假设这个值小于当前的max_children,能够调小此值
max children reached:当pm尝试启动很多其它的进程,却由于max_children的限制,没有启动很多其它进程的次数。假设这个值非0,那么能够适当添加fpm的进程数
slow requests:慢请求的次数,一般假设这个值未非0,那么可能会有慢的php进程,一般一个不好的mysql查询是最大的祸首。
假设想看到更加具体的信息,能够使用localhost/status?full查看每一个子进程更加额外的信息,拿当中的一个子进程来说明:
pid: 6917
state: Idle
start time: 17/Aug/2014:15:27:46 -0400
start since: 8399
requests: 35
request duration: 69295
request method: GET
request URI: /member.php?mod=logging&action=login&infloat=yes&frommessage&inajax=1&ajaxtarget=messagelogin
content length: 0
user: -
script: /usr/local/nginx/html/member.php
last request cpu: 72.16
last request memory: 3145728
这里的都比較好理解,主要看下content length和user
content length:这里记录的是POST请求的内容长度.
user:假设设置了PHP_AUTH_USER就会显示对于的值,否则显示为0.
这里须要注意的是假设state的状态为空暇的话,那么这些相关的信息将会以最后请求的服务相关,否则信息取决于当前请求的服务.
使用php-fpm状态页观察当前的php-fpm状态的更多相关文章
- Nginx 高级配置-状态页配置
Nginx 高级配置-状态页配置 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 建议将nginx的监控状态的值通过zabbix或者Open-Falcon之类的监控工具来监控状态,并 ...
- nginx启用status状态页
nginx和php-fpm一样都内建了一个状态页,通过查看状态页信息可以连接到nginx服务负载情况,还可以利用状态页信息配zabbix监控,这里先介绍nginx的status状态页的使用. stau ...
- TCP状态转换图、滑动窗口、半连接状态、2MSL
一.TCP状态转换图 下图对排除和定位网络或系统故障时大有帮助,也帮助我们更好的编写Linux程序,对嵌入式开发也有指导意义. 先回顾一下TCP建立连接的三次握手过程,以及关闭连接的四次握手过程 ...
- TCP的状态兼谈Close_Wait和Time_Wait的状态
原文链接: http://www.2cto.com/net/201208/147485.html TCP的状态兼谈Close_Wait和Time_Wait的状态 一 TCP的状态: 1).LIST ...
- 重学 Java 设计模式:实战状态模式「模拟系统营销活动,状态流程审核发布上线场景」
作者:小傅哥 博客:https://bugstack.cn - 原创系列专题文章 沉淀.分享.成长,让自己和他人都能有所收获! @ 目录 一.前言 二.开发环境 三.状态模式介绍 四.案例场景模拟 1 ...
- jq:翻页时,保存上页多选框checkbox选中状态
这里主要讲一种:中间的 checkbox 是 通过Ajax调出的. 则翻页时,为了保存上页的选定状态,可在页面中定义一个变量,用来存储选中状态的值. <input class="cli ...
- 查看Tomcat状态页,管理app,主机管理
Server Status 通过点击这个按钮我们可以查看Tomcat的状态,点击,弹出403错误页面 通过查看官方文档 因此,创建manager.xml # cat /usr/local/tomcat ...
- HAProxy的状态页
启用基于程序编译时默认设置的统计报告,不能用于"frontend"区段,只要没有另外的其他设定,他们就会使用如下的配置stats uri : /haproxy$statsst ...
- 11月6日下午PHP注册审核(审核状态控制登录、可以更改审核状态)
1.创建登录界面 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww ...
随机推荐
- C#并行编程
C#并行编程中的Parallel.Invoke 一.基础知识 并行编程:并行编程是指软件开发的代码,它能在同一时间执行多个计算任务,提高执行效率和性能一种编程方式,属于多线程编程范畴.所以我们在设计过 ...
- net搭建热插拔式web框架
net搭建热插拔式web框架(重造Controller) 由于.net MVC 的controller 依赖于HttpContext,而我们在上一篇中的沙箱模式已经把一次http请求转换为反射调用,并 ...
- HDU 4391 Paint The Wall 段树(水
意甲冠军: 特定n多头排列.m操作 以下是各点的颜色 以下m一种操纵: 1 l r col 染色 2 l r col 问间隔col色点 == 通的操作+区间内最大最小颜色数的优化,感觉非常不科学... ...
- C# WinForm dataGridView 技巧小结
1.不显示第一个空白列RowHeaderVisible属性设置为false 2.点击cell选取整行SelectinModel属性FullRowSelectRowSelectinModel属性设置或用 ...
- 【Android进阶】android:configChanges属性总结
android中的组件Activity在manifest.xml文件中可以指定参数android:ConfigChanges,用于捕获手机状态的改变. 在Activity中添加了android:con ...
- 条形码/二维码之开源利器ZXing图文介绍(转)
继前面介绍的一个日本开源软件(该软件只能实现QRCode)原文: Java实现二维码QRCode的编码和解码(http://sjsky.iteye.com/blog/1136934 ),今发现又一优秀 ...
- 【java基础】==与equals()方法比较
1.八种基本类型 只有"=="方法进行判断是否相等,比较的是基本数据类型的值,没有equals()方法 2.Java类库中的类 "=="比较的是对象的句柄,即内 ...
- expandableListView的divider该溶液显示在黑色
黑色是divider高度.如何让他成为透明的啊? 布局例如以下: <ExpandableListView android:layout_width="wrap_content&qu ...
- x264 - open gop and closed gop
GOP - Group of picture(影像集团),它指的是两个I帧之间的距离. Reference(基准期). 它指的是两个P帧之间的距离. 简而言之, 跨参考gop的,变open gop: ...
- HDU 4359 Easy Tree DP? 带权二叉树的构造方法 dp
题意: 给定n deep 1.构造一个n个节点的带权树,且最大深度为deep,每一个节点最多仅仅能有2个儿子 2.每一个节点的值为2^0, 2^1 ··· 2^(n-1) 随意两个节点值不能同样 3 ...