部署Swarm集群后,微服务时常出现无法访问的问题。手机4G网络稳定性明显好,但WIFI环境下经常连接超时。经过反复排查,很有可能是net.ipv4.tcp_tw_recycle
的翔。
在/etc/sysctl.conf
中,将net.ipv4.tcp_tw_recycle
设为0:
net.ipv4.tcp_tw_recycle=0
重启机器。此后Swarm集群便稳定下来了。
开启tcp_tw_recycle的时候,客户端NAT环境时,部分数据包会因为时间戳的问题被丢弃。具体暂时没空深究,大概是这样的原因。姑且记一下。
具体原理请参考链接:
记一次tcp_tw_recycle引发的事故
https://wangxun.me/2017/08/25/%E8%AE%B0%E4%B8%80%E6%AC%A1tcp-tw-recycle%E5%BC%95%E5%8F%91%E7%9A%84%E4%BA%8B%E6%95%85/
nginx android app 慢网络请求超时
http://www.cnblogs.com/jackluo/p/5886168.html
不要开启tcp_tw_recycle
https://ieevee.com/tech/2017/07/19/tcp-tw-recycle.html
转载请注明出处
《关于Linux配置net.ipv4.tcp_tw_recycle导致Swarm不稳定的问题》https://www.ywlib.com/archives/133.html (from 一闻自习室)
本文固定链接
https://www.ywlib.com/archives/133.html
标签
tcp_tw_recycle, swarm, ngnix