TimeWait
状态会出现在什么时候?服务端出现大量TimeWait
状态怎么办?
TimeWait
出现在四次挥手中。
我们可以先画出四次挥手的图。
C S
Fin_Wait_1 ----->
<------ Close_Wait
Fin_Wait_2
<------ Last_Ack
Time_Wait ----->
Close
Close
首先客户端向服务端发送Fin
标志位,表示要进入关闭连接了,客户端进入Fin_Wait_1
状态。
服务端向客户端发送ACK
标志,表示已经收到关闭连接的请求了,但是可能还有一部分数据没有发送完毕,服务端进入Close_Wait
状态。客户端收到后进入Fin_Wait_2
状态。
等待服务端把数据传输完毕后,向客户端发送Fin、ACK
标志,表示已经发送完剩下的数据了。服务端进入Last_Ack
状态,客户端收到后进入Time_Wait
状态。
客户端向服务端发送Ack
标志,表示自己已经收到了关闭连接的请求。在等待 2倍的最大传输数据长度后,客户端会关闭。
如果服务端出现大量Time_Wait
状态,表示服务端可能在此次连接中扮演客户端的角色,去访问另一个服务器。
此时,由于连接关闭数量多,默认的2MSL时间过于长,导致存在大量TimeWait
状态,可以通过调整TimeWait
等待的时间来减少出现TimeWait
的数量。
Close_Wait
状态出现在什么时候?服务端出现大量Close_Wait
怎么办?
Close_Wait
状态出现在四次挥手中。
如果客户端先关闭,服务端收到了这个关闭请求,但是没有处理,就会堆积大量的Close_Wait
状态。
排查程序自身的问题:
- 是否对方发送关闭连接自己没有检测到
- 自己得知对方关闭连接却没有做任何事情。
今天的文章network中的time_大量closewait连接怎么排查问题分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/57978.html