在网站访问慢的时候,要能迅速查找慢的原因,这其中,检查web状态至关重要,web状态是指目前网站的并发数、等待数、QPS/TPS等信息,如何获取这些状态信息呢,需要使用多个命令组合来完成,这里就web日常运维中经常用到的一些命令和组合分享给大家,作为调优依据。
1、查看TCP连接状态
netstat -nat |awk '{print $6}'|sort|uniq -c|sort -rn
netstat -n |awk '/^tcp/ {print $NF}'|sort|uniq -c|sort -rn
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]}'
netstat -n | awk '/^tcp/ {++arr[$NF]};END {for(k in arr) print k,"\t",arr[k]}'
netstat -ant | awk '{print $NF}' | grep -v '[a-z]' | sort | uniq -c
上面这些命令的输出内容大致一样,只是输出方式不同而已,各取所好即可。例如:
[root@test ~]# netstat -n |awk '/^tcp/ {print $NF}'|sort|uniq -c|sort -rn
1739 ESTABLISHED
159 TIME_WAIT
7 FIN_WAIT1
2 LAST_ACK
2 CLOSE_WAIT
1 SYN_RECV
从输出可以看到,这些都是TCP的连接状态,第一列输出的是每个连接状态的目前连接数量,第二列对应的是目前的TCP连接状态。那么重点要注意的是TIME_WAIT,这个TIME_WAIT是指在四次挥手过程中,首先调用关闭连接发起的一方,在发送最后一个ACK之后就会进入TIME_WAIT的状态,过多的