开启nginx状态监控,查看web服务器的并发连接数

开启nginx状态监控,查看web服务器的并发连接数。
Nginx的ngx_http_stub_status_module提供能够获取Nginx自上次启动以来的工作状态的功能。如果需要启用此功能的话,需要在编译的过程中添加如下参数:“--with-http_stub_status_module”,该模块在需要放到server里面的。

1、修改nginx.conf的文件例如:

server {

listen 80;
server_name 192.168.1.100;

root /home/www/;

index  index.html index.htm ;

access_log off;

location ~* \.(ftpquota|htaccess|asp|aspx|jsp|asa|mdb)$ {

deny  all;

}
location ~ ^/Nginxstatus/ {
stub_status on;
access_log off;
}
上面的代码红色部分为nginx的监控代码。

2、重启nginx服务。

#/usr/local/nginx/sbin/nginx  -s  reload

3、在浏览器的地址栏里输入“http://192.168.1.100/Nginxststus/”就ok了。截图如下:


4、解释如下:

Active connections: 2   //nginx 正处理的活动连接数2个。

server accepts handled requests
1077 1077 2353        //nginx启动到现在共处理了1077个连接 , 成功创建1077次握手 一般跟第一个一样,差值为请求丢失数, 总共处理了2353次请求。
Reading: 0      //nginx 读取到客户端的 Header 信息数。

Writing: 2      //nginx 返回给客户端的 Header 信息数。

Waiting: 0      //开启 keep-alive 的情况下,这个值等于 active - (reading + writing),意思就是 Nginx 已经处理完正在等候下一次请求指令的驻留连接。这个状态信息,从nginx启动算起,包括重载配置文件,也会清零。

附:用命令查看nginx和apache的并发连接数。

1、查看nginx并发进程数

ps -ef | grep nginx | wc -l
2、查看apache的并发连接数。

ps -ef | grep httpd | wc -l
3、查看mysql进程连接数:
ps -ef | grep mysqld -c

4、查看Web服务器(nginx  apache)的并发请求数及其TCP连接状态:
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

LAST_ACK 5 (正在等待处理的请求数)
SYN_RECV 30
ESTABLISHED 1597 (正常数据传输状态)
FIN_WAIT1 51
FIN_WAIT2 504
TIME_WAIT 1057 (处理完毕,等待超时结束的请求数)
转自: http://hi.baidu.com/dzxyzxw/item/172be8fcff7bbe4ec8f3372f