技术频道


Linux 请不要再开启 tcp_tw_recycle

关闭 tcp_tw_recycle


编辑文件 /etc/sysctl.conf

tcp_tw_recycle = 0

执行 sysctl -p 使其生效

sysctl -p


TCP 状态图

爱奇艺 AdX 广告 DSP 流量对接的时候,遇到个奇怪的问题,接收 WIN_NOTICE 的时候,nginx 原始日志,只有对方发出量的一半,且对方视角看,有超时情况,排查好久,发现是 TCP “优化的坑”。参考 Linux TCP 状态 TIME_WAIT 过多的处理详解,tcp_tw_recycle这个选项在内核的文档里说明的比较含糊,但是有一句警告:

Enable fast recycling TIME-WAIT sockets. Default value is 0. It should not be changed without advice/request of technical experts.

意思就是:特殊勤务,请勿靠近……在 man 7 tcp 里,直接提示:

Enable fast recycling of TIME_WAIT sockets. Enabling this option is not recommended since this causes problems when working with NAT (Network Address Translation).


TCP 连接图

tcp_tw_recycle 的坑,这里 Mark 一下,新版的 Linux 默认已经去掉这个了。

tcp_tw_recycle 扩展阅读:



发表评论