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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。