短时间内有大量的短连接建立

根据TCP的四次挥手,最后一次服务端发fin包,客户端接收到这个状态之后就从fin_wait2转化为time_wait状态,并发送ack应答包,等待2WSL的时间之后再关闭连接。

WSL是最大报文生产周期,如果第四次挥手回复的ack包丢失,那么被动关闭连接的一方会重发fin,ack包和fin包工需要2MSL

那么问题就来了,一般time_wait的时间是1—4分钟,如果这时候有大量的短连接建立,因为time_wait状态,所有虽然信息传输完了但连接还没断开,客户端所在的操作系统的socket端口和句柄被用尽,系统无法再发起新的连接!
那么这个问题怎么解决呢?
(1)将短连接变成长链接
(2)修改ipv4.ip_local_port_range,变大一点,这样处理可以多一点
(3)可以设置等待时间短一点

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

推荐阅读更多精彩内容