Linux 如何查看服务器的并发数


我们的网站部署在linux的服务器上, 特别是web服务器, 如何查看服务器的并发连接数? 可以使用下面命令:


$ netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' 


解释:
返回结果示例:
1. LAST_ACK 5(正在等待处理的请求数)
2. SYN_RECV 30
3. ESTABLISHED 1597(正常数据传输状态)
4. FIN_WAIT1 51
5. FIN_WAIT2 504
6. TIME_WAIT 1057(处理完毕,等待超时结束的请求数)


状态:描述
CLOSED: 无连接
LISTEN: 服务器在等待进入呼叫
SYN_RECV: 一个连接请求已经达到, 等待确认
SYN_SENT: 应用程序已经开始, 打开一个连接
ESTABLISHED:正常数据传输状态 
FIN_WAIT1:应用说它已经完成 
FIN_WAIT2:另一边已同意释放 
ITMED_WAIT:等待所有分组死掉 
CLOSING:两边同时尝试关闭 
TIME_WAIT:另一边已初始化一个释放 
LAST_ACK:等待所有分组死掉


使用这上面的命令是可以查看服务器的种连接状态,其中ESTABLISHED 就是并发连接状态的显示数的了。如果你不想查看到这么多连接状态,而仅仅只是想查看并发连接数,可以简化一下命令,即:

$ netstat -nat|grep ESTABLISHED|wc -l  
返回:712
这个返回的数字就是当前并发的连接数的了。      

你可能感兴趣的:(linux)