西西河

主题:【求助】关于网站大量 Error 001 应对 -- 铁手

共:💬49 🌺143 新:
全看分页树展 · 主题 跟帖
家园 协议解释——看看是否有帮助

看看你那几千个连接的Ip是不是都在Time_wait或FIN_WAIT1上

这个状态多出现在慢速的连接上,服务器主动关闭连接发送完FIN标志后就处在FIN_WAIT1状态,直到收到客户端的ACK,之后收到客户端发来的FIN,并送出ACK后进入TIME_WAIT状态。处于TIME_WAIT状态的时间是最大包生存时间(MSL for Maximum Segment Lifetime)的两倍。因此一般是2分钟到4分钟时间。

如果连接速度慢那么处在FIN_WAIT1的时间就比较长,搞不好还收不到——如果客户端断掉,或者客户端程序/NAT路由器没有正确处理TCP优雅关闭问题,那么服务器会试图多次重新传送FIN,直到超过重传次数。这个时间甚至可能比TIME_WAIT还长。

影响这两个时间的参数大致有:

MSL——看什么系统可能是30秒也可能是120秒

TCP重试次数,有两个,一个是决定多少次报错,另一个是决定多少次关闭

还有一个是FIN_WAIT2的时间,这个是服务器收到客户端对自己FIN的ACK后进入等待客户端FIN的时间。对于WEB服务器来说这个可以很短(10秒就足够了,因为HTTP客户端肯定不会再发数据过来)

调整这些参数可以缩短上述状态的时间,从而快速释放连接。但是需要注意这些参数同时影响正常的通信

全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河