晓夏

新手菜鸟Linux学习之路

不怕从零开始,只怕从未启程

查看Nginx的并发连接数和连接状态

浏览量:1163

Linux下查看Nginx的并发连接数和连接状态命令

 

1、查看Web服务器(Nginx or Apache)的并发连接数及TCP连接状态

# netstat -n | awk '/^tcp/{++S[$NF]} END {for(a in S) print a,S[a]}'
或者:
netstat -n | awk '/^tcp/ {++state[$NF]} END {for(key in state) print key,"t",state[key]}'

返回结果如下:
TIME_WAIT 29
CLOSE_WAIT 3
FIN_WAIT2 20
ESTABLISHED 166
LAST_ACK 2

参数说明:
TIME_WAIT:处理完毕,等待超时结束的请求数
CLOSE_WAIT:
FIN_WAIT1:应用程序说他已经完成
FIN_WAIT2:另一边已经同意释放的
ESTABLISHED:正常数据传输的,(当前并发连接数)
LAST_ACK:等待所有分组死掉
SYN_RECV:一个连接请求已经到达,等待确认(3次握手)
SYN_SENT:应用已经开始,打开一个连接(3次握手)
CLOSING:两边同时尝试关闭

 

2、查看Nginx运行进程数

# ps -ef | grep nginx | wc -l


3、查看Mysql进程连接数

# netstat -antp |grep 80 | grep ESTABLISHED -c4

 

网页查看Nginx状态

在Nginx中想要网页查看Nginx网站负载,需要在编译Nginx时候添加健康检测模块(--with-http_stub_status_module)
配置如下:
在Nginx.conf中的server点里面加入如下内容
location /status {
stub_status on;
access_log /usr/local/nginx/logs/status.log;
auth_basic "NginxStatus"; 
}
配置完后重新启动Nginx后我们可以通过浏览器访问http://localhost/status 查看

内容如下:
Active connections: 137 

server accepts handled requests

 20030398 20030398 54364299 

Reading: 13 Writing: 3 Waiting: 121
分析:
active connections – 当前 Nginx 正处理的活动连接数137。

server accepts handled requests -- 总共处理了 20030398 个连接 , 成功创建 20030398 次握手 (证明中间没有失败的 ), 总共处理了 54364299个请求 ( 平均每次握手处理了 2.多个数据请求 )。

reading -- nginx 读取到客户端的 Header 信息数13。

writing -- nginx 返回给客户端的 Header 信息数3。

waiting -- 开启 keep-alive (HTTP长连接,持久连接)的情况下,这个值等于 active - (reading + writing),意思就是 Nginx 已经处理完正在等候下一次请求指令的驻留连接。

 

分享:

支付宝

微信