TIME_WAIT Close_wait
面试很爱问的一个问题是:
服务器中存在大量的TIME_WAIT是什么原因?
TIME_WAIT状态出现在主动关闭连接的一方。
(所以是由两个可能的原因?: 1) 作为服务端 ,主动关闭端口
2)作为客户端,主动关闭端口
)
如何解决TIME_WAIT过多?
快速回收和重用那些TIME_WAIT资源。(也就是不等2msl了??)
服务器保持了大量CLOSE_WAIT状态的原因
CLOSE_WAIT出现在被动关闭的一方。
【思考:首先要注意大量。当作为服务端的时候,是不可能出现大量的!!!因为服务端只会占用一个端口,一致在监听一个端口!!大量出现在客户端中!!!!!
服务端的 端口的状态,指的是它的 fd的状态吗????那这样会出现大量的状态 ( 对,其实指的就是 fd)
】
(原因: 1)作为服务端 被动关闭 (代码写的不好 没有发送关闭请求给客户端 (比如没有编写处理客户端异常断开的代码))、
而且这个CLOSE_WAIT会一直存在,一直占用着资源(就是fd资源)
2)作为客户端 被动关闭 (没有发送关闭请求给服务端)
)

参考文档:
https://blog.csdn.net/bingqingsuimeng/article/details/51210841?utm_source=blogxgwz10
也许会有遗憾,但是不应该在失败之前
浙公网安备 33010602011771号