Mic*_*see 52 linux networking tcp
我有一个使用大量连接的网站和应用程序.它通常有大约3,000个静态打开的连接,并且可以在几秒钟的时间内接收5,000到50,000次连接尝试.
由于TIME_WAIT状态套接字,我遇到了耗尽本地端口以打开新连接的问题.即使将tcp_fin_timeout设置为较低的值(1-5),这似乎只会导致过多的开销/减速,并且它仍然偶尔会无法打开新的套接字.
我已经查看了tcp_tw_reuse和tcp_tw_recycle,但我不确定这些中哪一个是首选,或者如果同时使用这两个选项.
Céd*_*ien 57
根据Linux文档,您应该使用TCP_TW_REUSE标志来允许在TIME_WAIT状态下重新使用套接字来进行新连接.
在处理必须处理TIME_WAIT状态下的许多短TCP连接的Web服务器时,这似乎是一个不错的选择.
如上所述这里,该TCP_TW_RECYCLE可以使用负载均衡器时,会导致一些问题...
编辑(添加一些警告;)):
正如@raittes在评论中提到的,"使用负载均衡器时的问题"是关于面向公众的服务器.启用回收后,服务器无法区分同一NAT设备后面的不同客户端的新传入连接.
pev*_*vik 18
注:net.ipv4.tcp_tw_recycle已删除从Linux的4.12.
消息来源:https://vincent.bernat.im/en/blog/2014-tcp-time-wait-state-linux
| 归档时间: |
|
| 查看次数: |
81381 次 |
| 最近记录: |