tcp_tw_reuse、tcp_tw_recycle和tcp_timestamps
为了解决TIME_WAIT问题的参数优化
提到TIME_WAIT就不得不提MSL:即Maximum Segment Lifetime,最大报文生存时间,和TTL相似,TTL是IP头中的,是一个设置的初始值,每过一个网络节点-1,0的时候数据报被丢弃。2MSL是为了解决发起连接关闭方回复最后一个fin 的ack,为避免对方ack 收不到、重发的或还在中间路由上的fin 把新连接给干掉了
- tw_reuse,tw_recycle 必须在客户端和服务端timestamps 开启时才管用(默认打开)
- tw_reuse 只对客户端起作用,开启后客户端在1s内回收
- tw_recycle 对客户端和服务器同时起作用
对于客户端
- 作为客户端因为有端口65535问题,TIME_OUT过多直接影响处理能力,打开tw_reuse 即可解决,不建议同时打开tw_recycle,帮助不大。
- tw_reuse 帮助客户端1s完成连接回收,基本可实现单机6w/s请求,需要再高就增加IP数量吧。
- 如果内网压测场景,且客户端不需要接收连接,同时tw_recycle 会有一点点好处。
- 业务上也可以设计由服务端主动关闭连接
对于服务端
- 打开tw_reuse无效
- 线上环境 tw_recycle 不要打开 因为一般的服务器、客户端都在NAT之后公网服务打开就可能造成部分连接失败,内网的话到时可以视情况打开;像我所在公司对外服务都放在负载后面,负载会把timestamp 都给清空,好吧,就算你打开也不起作用。
- 服务器TIME_WAIT 高怎么办
不像客户端有端口限制,处理大量TIME_WAIT Linux已经优化很好了,每个处于TIME_WAIT 状态下连接内存消耗很少,而且也能通过tcp_max_tw_buckets =100000 解决(这个值根据TIME_WAIT数量定),现代机器一般也不缺这点内存。
#客户端
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_tw_reuse=1 #系统默认0。当服务器当为客户端时有效(如反向代理访问后端),开启后客户端在1s内回收
net.ipv4.tcp_tw_recycle=0 #系统默认0。可关闭,但要调大tcp_max_tw_buckets,使用内存来支撑#服务器端
net.ipv4.tcp_timestamps = 1 #系统默认1。会在tcp包头部记录时间戳。
net.ipv4.tcp_tw_recycle=0 #系统默认0。可关闭,但要调大tcp_max_tw_buckets,使用内存来支撑
net.ipv4.tcp_max_tw_buckets=655350
tcp_tw_reuse、tcp_tw_recycle和tcp_timestamps相关推荐
- tcp_tw_recycle和tcp_timestamps导致connect失败问题
近来线上陆续出现了一些connect失败的问题,经过分析试验,最终确认和 proc参数tcp_tw_recycle/tcp_timestamps相关: 1. 现象 第一个现象 模块A通过NAT网关访问 ...
- Linux同时开启tcp_tw_recycle和tcp_timestamps导致TCP syn有时不响应故障排查
问题描述 前几天,同事反馈从公司连接线上一台服务器有时候会失败,经过抓包发现,TCP握手过程失败.查了相关资料,发现是跟net.ipv4.tcp_tw_recycle和net.ipv4.tcp_tim ...
- tcp_timestamps tcp_tw_recycle引起的服务器连接不上问题
最近一个非常奇怪的问题,多台手机客户端利用公司wifi连接一台服务器,但是频繁出现连接不上情况,而且一台能连接上,另一台就会断开.断开的时候再尝试连接,但是没有apache跟tomcat的任何访问记录 ...
- linux系统参数之ip_local_port_range、tcp_max_tw_buckets、tcp_tw_reuse
一,linux TIME_WAIT 相关参数 1,/proc/sys/net/ipv4/ip_local_port_range:端口范围,不要超过1024到65535,1024以下系统使用,65535 ...
- 网络优化之net.ipv4.tcp_tw_recycle参数
本文为翻译英文BLOG<Coping with the TCP TIME-WAIT state on busy Linux servers>,(http://vincent.bernat. ...
- 不要在linux上启用net.ipv4.tcp_tw_recycle参数
本文为翻译英文BLOG<Coping with the TCP TIME-WAIT state on busy Linux servers>,但并非完整的翻译,译者CFC4N对原文理解后, ...
- NAT环境无法访问云端的深层次分析
这是一次我维护runningdoctor时候遇到的问题 现象: 1.用户无法打开web.runningdoctor.cn 2.监控状态无异常.无报警 3.tracert结果无异常.丢包率正常 4.用户 ...
- 万字长文 | 23 个问题 TCP 疑难杂症全解析
每个时代,都不会亏待会学习的人. 在进入今天主题之前我先抛几个问题,这篇文章一共提出 23 个问题. TCP 握手一定是三次?TCP 挥手一定是四次? 为什么要有快速重传,超时重传不够用?为什么要有 ...
- 系统调优,你所不知道的TIME_WAIT和CLOSE_WAIT
https://my.oschina.net/fdhay/blog/638631 高性能网络 | 你所不知道的TIME_WAIT和CLOSE_WAIT 2016-02-18 大房 大房说 本文是我将最 ...
最新文章
- 音频处理中频域转时域的恢复
- Microsoft月度中文速递
- vue打包后css路径_Vue打包后访问静态资源路径问题
- 车牌识别python实现ubuntu_python利用百度云接口实现车牌识别
- 直播丨BMMeetup第2期:大模型计算加速技术,2场特邀和7位青年学者技术报告联袂上演...
- C#-using与添加引用的关系
- matlab bdir 排序,命令行 - 如何获取按文件夹名称排序的子文件夹及其文件列表
- NetCore控制台实现自定义CommandLine功能
- 尝试搭建Apache+Tomcat负载均衡
- 博客目录 Blog directory
- 大电流场效应管500a_不可不知的电子工程常用的6大电子元器件,了解一下!
- 飞鱼科技2019笔试题
- 如何转换html转化mp4,格式互转技巧:webm格式怎么转换mp4?
- 课程设计-工资管理系统
- 如何进行自学软件测试?
- Hutool常用工具
- 求高手请进,帮我分析这种情况是什么原因
- 程序员必备的10个B站优质UP主!
- scipy--统计检验
- 华为手机上html怎么打开,华为手机root权限怎么开启?详细的步骤以及图文教程...