[心缘地方]同学录
首页 | 功能说明 | 站长通知 | 最近更新 | 编码查看转换 | 代码下载 | 常见问题及讨论 | 《深入解析ASP核心技术》 | 王小鸭自动发工资条VBA版
登录系统:用户名: 密码: 如果要讨论问题,请先注册。

[备忘]不要在linux上启用net.ipv4.tcp_tw_recycle参数【重要,否则会出现连接超时】

上一篇:[整理]java用字符串的indexOf和substring来解析XML
下一篇:[备忘]阿里云的默认配置sysctl.conf

添加日期:2017/12/21 10:55:50 快速返回   返回列表 阅读2042次
现象:
连接服务器时,有一定的几率会连接不上。

结果:
最终发现,是服务器的tcp_tw_recycle设置为了1,
由于时间戳的原因,导致有些包被丢弃。


参考:
http://www.cnxct.com/coping-with-the-tcp-time_wait-state-on-busy-linux-servers-in-chinese-and-dont-enable-tcp_tw_recycle/
https://www.cnblogs.com/lulu/p/4149312.html



在服务端,不要启用net.ipv4.tcp_tw_recycle,除非你能确保你的服务器网络环境不是NAT。
在服务端,不要启用net.ipv4.tw_reuse,启用net.ipv4.tw_reuse对于连接进来的TCP连接来说,并没有任何卵用。


在客户端(尤其是服务器上,某服务以客户端形式运行时,比如上面提到的nginx反代,连接着redis、mysql的FPM等等)上启用net.ipv4.tcp_tw_reuse,还算稍微安全的解决TIME-WAIT的方案。


TIME-WAIT多就多吧,存在即合理。


还有个时间戳,貌似也该禁用,默认貌似是1
net.ipv4.tcp_timestamps=0

http://blog.csdn.net/gzh0222/article/details/8000508
----------------------------------------------------

(1)执行vim /etc/sysctl.conf

(2)
直接明确写上:
net.ipv4.tcp_tw_recycle = 0
net.ipv4.tcp_timestamps = 0

保存,然后
sysctl -p
 

评论 COMMENTS
没有评论 No Comments.

添加评论 Add new comment.
昵称 Name:
评论内容 Comment:
验证码(不区分大小写)
Validation Code:
(not case sensitive)
看不清?点这里换一张!(Change it here!)
 
评论由管理员查看后才能显示。the comment will be showed after it is checked by admin.
CopyRight © 心缘地方 2005-2999. All Rights Reserved