使用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 ...
随机推荐
- html风格的滚动条
DIV辊棒的设置 (CSS)2008/09/26 03:07div 控制滚动条2008年01月06日本 星期日 01:181)隐藏滚动条<body style="overflow-x: ...
- newinstance()和new有什么区别?(转)
在初始化一个类,生成一个实例的时候:newInstance() 和 new 有什么区别? 用newInstance与用new是区别的,区别在于创建对象的方式不一样,前者是使用类加载机制,那么为什么会有 ...
- c++头
头文件c/c++独特的概念. 首先解释声明和定义的区别. extern int x;这是一个可变x声明,void fun();这是函数fun()声明.class a;这是类a声明. int x;变量x ...
- hdu 1298 T9(特里+DFS)
pid=1298" target="_blank" style="">题目连接:hdu 1298 T9 题目大意:模拟手机打字的猜想功能.依据概 ...
- Visual Studio 连接不上NuGet 官方程序包源的解决办法
修改dns 即可
- 轻松搭建Windows8云平台开发环境
原文:轻松搭建Windows8云平台开发环境 Windows Store应用是基于Windows 8操作系统的新一代Windows应用程序,其开发平台以及运行模式和以往传统平台略有不同.为了帮助更多开 ...
- 解决Virtual Box 安装Mac OS X当出现“hfs: summary table not allowed on FS with block size of 2048”问题
解决Virtual Box 安装Mac OS X当出现"hfs: summary table not allowed on FS with block size of 2048"问 ...
- Java线
线程是一个单一的程序流程.多线程是指一个程序,可以在同一时间执行多个任务.每个任务是由一个单独的线程以完成.那.够同一时候在一个程序中执行,而且每个线程完毕不同的任务.程序能够通过控制线程来控制程序的 ...
- 由iPhone emoji问题牵出UTF-16编码,UTF-8编码查询
前言 iOS平台,系统输入法emoji表达.表达式不能在很多其他平台上显示,尤其是在Android.Symbian系统.我决定到底要探索1:我指的是一些知识: (注意:该博文已经如果读者已经了解utf ...
- mysql1130远程连接没有权限解决方法
原因擅自在两个远程连接,一种是由于mysql限制,一个是防火墙限制. 1,解决防火墙限制: 于mysql服务主机将关闭防火墙,或者在防火墙高级设置这增加了入站和出站规则,加号mysql的port.同意 ...