nginx status

nginx 开启监控

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
第一步: 编译Nginx的时候添加参数:--with-http_stub_status_module

第二步: 启用nginx status配置
[root@10 ~]# vim /mnt/app/nginx/conf/nginx.conf
在server{}中添加配置:
server {
... ...
location /nginx_status {
stub_status on;
access_log off;
}
... ...
}

第三步: 重新加载nginx配置文件
[root@10 ~]# /mnt/app/nginx/sbin/nginx -c /mnt/app/nginx/conf/nginx.conf -t
[root@10 ~]# /mnt/app/nginx/sbin/nginx -c /mnt/app/nginx/conf/nginx.conf -s reload

第四步: 打开浏览器访问
http://IP/nginx_status

第五步: 在服务器上操作
curl -s http://IP/nginx_status

nginx 状态参数说明

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[root@10 zabbix_agentd.d]# curl -s http://127.0.0.1/nginx_status
Active connections: 37
server accepts handled requests
2777347 2777347 52733269
Reading: 0 Writing: 4 Waiting: 33

说明:
active connections 表示对后端发起的连接数(活跃)

server accepts handled requests 2777347 2777347 52733269
表示总共处理了2777347个连接,成功创建了2777347次握手,总共处理了52733269请求

Reading: 0 Writing: 4 Waiting: 33
Reading 表示读取客户端的Header信息数.这个操作只是读取头部信息,读取完后马上进入writing状态,因此时间很短.
Writing 表示响应数据到客户端的Header信息数.这个操作不仅读取头部,还要等待服务响应,因此时间比较长
Waiting 表示开启keep-alive后等候下一次请求指令的驻留连接(这个值等于(active – (reading+writing)))

注意:正常情况下waiting数量是比较多的,并不能说明性能差.反而如果reading+writing数量比较多说明服务并发有问题