TCP-TIME_WAIT太多怎么办

  1. 其实fin_wait1、fin_wati2、close_wait都不是正常现象,只有established和time_wait是正常的。
  2. 如果发现fin_wait状态很多,并且client ip分布正常,那可能是有ddos攻击。
  3. 处于CLOSE_WAIT很大可能是程序未关闭连接。
    服务器A是一台爬虫服务器,它使用简单的HttpClient去请求资源服务器B上面的apache获取文件资源,正常情况下,如果请求成功,那么在抓取完资源后,服务器A会主动发出关闭连接的请求,这个时候就是主动关闭连接,服务器A的连接状态我们可以看到是TIME_WAIT。如果一旦发生异常呢?假设请求的资源服务器B上并不存在,那么这个时候就会由服务器B发出关闭连接的请求,服务器A就是被动的关闭了连接,如果服务器A被动关闭连接之后程序员忘了让HttpClient释放连接,那就会造成CLOSE_WAIT的状态了。

谁主动关闭谁处于TIME_WAIT

sysctl net.ipv4.tcp_tw_reuse
sysctl net.ipv4.tcp_tw_recycle
sysctl net.ipv4.ip_local_port_range
LINK线上机器运行结果:28232


image.png

你可能感兴趣的:(TCP-TIME_WAIT太多怎么办)