netstat命令和awk来查看web服务器的并发连接数以及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]}'
FIN_WAIT2 38
CLOSING 3
SYN_RECV 1
CLOSE_WAIT 1
TIME_WAIT 261
ESTABLISHED 71
LAST_ACK 2
FIN_WAIT1 9
TCP连接的各个状态含义描述如下
CLOSED 无连接是活动的或正在进行
LISTEN 服务器在等待进入呼叫
SYN_RECV 一个连接请求已经到达,等待确认
SYN_SENT 应用已经开始,打开一个连接
ESTABLISHED 正常数据传输状态/当前并发连接数
FIN_WAIT1 应用说它已经完成
FIN_WAIT2 另一边已同意释放
ITMED_WAIT 等待所有分组死掉
CLOSING 两边同时尝试关闭
TIME_WAIT 另一边已初始化一个释放
LAST_ACK 等待所有分组死掉
ESTABLISHED参数后面的值就是当前系统的并发连接数了。
查看Nginx运行进程数
代码如下
复制代码
ps -ef | grep nginx | wc -l返回的数字就是nginx的运行进程数,如果是apache则执行
ps -ef | grep httpd | wc -l3、查看Web服务器进程连接数:
netstat -antp | grep 80 | grep ESTABLISHED -c4、查看MySQL进程连接数:
ps -axef | grep mysqld -c
查看Web服务器进程连接数:
netstat -antp | grep 80 | grep ESTABLISHED -c
查看MySQL进程连接数:
ps -axef | grep mysqld -c
补充
查看当前Apache连接数:
代码如下
复制代码
ps -ef |grep httpd|wc -l
或ps -aux |grep httpd |wc -l
查看当前Apache并发连接数和TCP连接状态:
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
查看连接数和连接状态:
netstat -ant|grep $ip:80|wc -l
netstat -ant|grep $ip:EST|wc -l
查看tomcat当前连接状态:
netstat -anlt|grep 8009|grep ESTABLISHED
netsat -ant |grep 8009|wc -l
查看mysql当前连接数:
mysqladmin -umysql -pmysql static
mysqladmin -umysql -pmysql processlist