最近用户的tomcat服务器上出现大量TIME_WAIT 状态的连接,导致后面的连接进不去,出现服务没有响应的情况。
首先使用命令查看当前的各种状态的数量:
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
执行后,一般结果如下:
TIME_WAIT 8
CLOSE_WAIT 323
SYN_SENT 1
ESTABLISHED 6171
其中常用的三个状态是:
ESTABLISHED 表示正在通信
TIME_WAIT 表示主动关闭

当服务器出现大量TIME_WAIT状态的TCP连接时,可能导致服务无法响应。TIME_WAIT状态是在TCP连接关闭后,等待一段时间以确保ACK确认分节到达对方。在高并发的HTTP服务中,这会占用大量资源。解决方法包括调整系统配置,如增加`net.ipv4.tcp_tw_reuse`和`net.ipv4.tcp_tw_recycle`等参数,以允许更快地重用TIME_WAIT连接。

2785

被折叠的 条评论
为什么被折叠?



