TIME_WAIT 状态过多会导致什么问题?
如果服务器有处于 TIME-WAIT 状态的 TCP,则说明是由服务器⽅主动发起的断开请求。
过多的 TIME-WAIT 状态主要的危害有两种:
第⼀是内存资源占⽤;
第⼆是对端⼝资源的占⽤,⼀个 TCP 连接⾄少消耗⼀个本地端⼝;
怎么解决TIME_WAIT 状态过多?
服务器可以设置SO_REUSEADDR套接字来通知内核,如果端口被占用,但是TCP连接位于TIME_WAIT 状态时可以重用端口。
还可以使用长连接的方式来减少TCP的连接和断开,在长连接的业务里往往不需要考虑TIME_WAIT状态。
更多技术分享,请持续关注云和数据!