首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

linux开启tcp_timestamps和tcp_tw_recycle引发的问题研究

环境:centos7.4 内核版本3.10 最近看内核参数tcp_tw_recycle(该参数在内核 4.12 之后被移除),它用于快速回收处理TIME_WAIT状态的socket。...当启用tcp_tw_recycle后,系统会在一个RTO的极短时间内回收处于TIME_WAIT状态的socket,但仍然无法杜绝接收到上一个连接在链路上滞留的报文。...1260,sackOK,TS val 1759179704 ecr 0,nop,wscale 7], length 0 结合上述测试可以得出结论:同时启动tcp_timestamps和tcp_tw_recycle...进而可以得出: 在NAT场景下一定不能启用tcp_tw_recycle; NAT场景下单独启动tcp_timestamps不会影响正常使用,连接断链后会在2MSL过后回收socket; 生产中不要使用...tcp_tw_recycle,即使没有使用到NAT设备,但当前虚拟化环境下用到NAT的地方很多,如kubernetes的service等 TIPS: 为了复现如上问题,曾尝试过使用1.17.0版本的nginx

2.1K20

玩转CVM之tw_reuse和tw_recycle 罪与罚

Linux TIME_WAIT 主要有三个相关参数: net.ipv4.tcp_tw_reuse = 1 表示开启重用。...这个参数决定了它保持在FIN-WAIT-2状态的时间 国外的一篇英文文档详细介绍了TCP TIME-WAIT 相关内容,题为《Coping with the TCP TIME-WAIT state on busy Linux...启用net.ipv4.tcp_tw_reuse后,如果新的时间戳,比以前存储的时间戳更大,那么linux将会从TIME-WAIT状态的存活连接中,选取一个,重新分配给新的连接出去的TCP连接。...同时不建议打开tw_recycle,没有任何作用。...但启用net.ipv4.tcp_tw_recycle后,kernel就会检查时间戳,如果发来的包的时间戳是乱跳的,就会出现把带了“倒退”的时间戳的包当作是recycle的tw连接的重传数据,不是新的请求

8K1590

tcp_tw_reuse、tcp_tw_recycle注意事项

linux TIME_WAIT 相关参数: net.ipv4.tcp_tw_reuse = 0 表示开启重用。...服务器TIME_WAIT 高怎么办 不像客户端有端口限制,处理大量TIME_WAIT Linux已经优化很好了,每个处于TIME_WAIT 状态下连接内存消耗很少。...MSL 由来   发起连接关闭方回复最后一个fin 的ack,为避免对方ack 收不到、重发的或还在中间路由上的fin 把新连接给丢掉了,等个2MSL(linux 默认2min)。   ...参考: Coping with the TCP TIME-WAITstate on busy Linux servers tcp短连接TIME_WAIT问题解决方法大全(3)——tcp_tw_recycle...tcp短连接TIME_WAIT问题解决方法大全(4)——tcp_tw_reuse 【经验总结】tcp_tw_recycle参数引发的故障 tcp_tw_recycle和tcp_timestamps导致

3.2K30

tcp_tw_recycle和tcp_timestamps导致connect失败问题

blog.sina.com.cn/s/blog_781b0c850100znjd.html 近来线上陆续出现了一些connect失败的问题,经过分析试验,最终确认和proc参数tcp_tw_recycle...分析 根据现象上述问题明显和tcp timestmap有关;查看linux 2.6.32内核源码,发现tcp_tw_recycle/tcp_timestamps都开启的条件下,60s内同一源...ts_recent) > TCP_PAWS_WINDOW) { NET_INC_STATS_BH(sock_net(sk), LINUX_MIB_PAWSPASSIVEREJECTED...解决方法 echo 0 > /proc/sys/net/ipv4/tcp_tw_recycle; tcp_tw_recycle默认是关闭的,有不少服务器,为了提高性能,开启了该选项; 为了解决上述问题,...个人建议关闭tcp_tw_recycle选项,而不是timestamp;因为 在tcp timestamp关闭的条件下,开启tcp_tw_recycle是不起作用的;而tcp timestamp可以独立开启并起作用

1.5K40

tcp_tw_reuse、tcp_tw_recycle 使用场景及注意事项

linux TIME_WAIT 相关参数: net.ipv4.tcp_tw_reuse = 0 表示开启重用。...表示如果套接字由本端要求关闭,这个参数决定了它保持在FIN-WAIT-2状态的时间(可改为30,一般来说FIN-WAIT-2的连接也极少) 注意: - 不像Windows 可以修改注册表修改2MSL 的值,linux...服务器TIME_WAIT 高怎么办 不像客户端有端口限制,处理大量TIME_WAIT Linux已经优化很好了,每个处于TIME_WAIT 状态下连接内存消耗很少, 而且也能通过tcp_max_tw_buckets...细节之处还得好好阅读tcp 协议栈源码了 建议阅读以下参考: Coping with the TCP TIME-WAITstate on busy Linux servers tcp短连接TIME_WAIT...问题解决方法大全(3)——tcp_tw_recycle tcp短连接TIME_WAIT问题解决方法大全(4)——tcp_tw_reuse 【经验总结】tcp_tw_recycle参数引发的故障 tcp_tw_recycle

5.6K110

分区表放入keep pool,recycle pool的问题及解析(34天)

因为生产环境的性能瓶颈,经过诊断,给出的结论是需要把几个表和索引放入keep pool,几个索引放入recycle pool....至于recycle pool的使用,对于数据量很大的表来说,如果数据访问不是很频繁但是因为性能考虑,还是需要做些什么的时候,可以考虑把表或者索引放入recycle pool,让它尽管去不停的刷那一部分缓存...闲话少说,放入keep pool,recycle pool,可以使用两个ddl语句就能简单完成。...alter table xxxx storage(buffer_pool keep); alter table xxx storage(buffer_pool recycle); 对于索引也是类似,如果要取消...当然了,这些操作都要确保db_recycle_cache_size,db_keep_cache_size都得指定一定空间。

70970

关于纠结的recycle pool的设置(r3笔记第5天)

在抓取了awr和同事的分析之后,产品部门建议把对应的clob放入recycle pool里面。一方面能够降低buffer cache的负载。让clob的部分尽快的从缓存中不断的刷新。...对于recycle pool的设置没有问题,可以设置db_recycle_cache_size来实现,但是这些操作在生产环境中一定要多评估和分析,因为有一些潜在的问题和风险。...这样如果要分配足够缓存,留给recycle pool的部分就很有限了。估算下来,不到200M左右的样子,直观感觉,这样的设置还不如不设置,可能没达到预期的目标还可能使问题更加严重。...RECYCLE PUB_LOG GENERAL_DATA_C SYS_LOB0002403829C00014$$ RECYCLE...SYS_LOB0002403829C00014$$ RECYCLE 18 rows selected.

64070

CLB后端的CVM端口健康检查偶尔异常

因为看抓包文件偶尔也会回包,所以肯定不是cvm有系统防火墙和安全组等限制 image.png 4、查看客户有开启快速回收参数sysctl -a |grep -E 'timestamp|reuse|recycle...6、建议关闭tw_recycle参数: tw_recycle在很多场景下对业务是有损的,尤其是client 在nat环境后面的时候,建议所有的cvm关闭该选项,并且最新的内核4.1以后也不再支持tw_recycle...最新内核删除说明: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?...id=4396e46187ca5070219b81773c4e65088dac50cc 7、临时生效:echo "0" > /proc/sys/net/ipv4/tcp_tw_recycle 永久生效:...需要修改/etc/sysctl.conf ,添加 net.ipv4.tcp_tw_recycle = 0 sysctl -p 生效 开启快速回收参数可能也会导致下面问题: 1、远程登录linux服务器偶尔不通

1.4K103

Linux系统内核配置问题导致NAT环境访问实例出现异常

问题描述 无法通过SSH连接Linux实例,访问该实例上的HTTP服务也出现异常。使用telent命令进行网络测试,发现请求连接被重置。...问题原因 本地网络通过NAT共享的方式上网,并且Linux系统相关内核参数配置异常。 解决方案 修改系统的内核参数以解决该问题。 依次执行如下命令,查看当前内核配置,确认该参数值为“1”。...cat /proc/sys/net/ipv4/tcp_tw_recycle cat /proc/sys/net/ipv4/tcp_timestamps 在/etc/sysctl.conf配置文件添加如下内容...net.ipv4.tcp_tw_recycle=0 net.ipv4.tcp_timestamps=0 执行如下命令,使配置生效。...sysctl -p net.ipv4.tcp_tw_recycle参数造成的连接不稳定 对net.ipv4.tcp_tw_recycle的说明是开启 TCP 连接中 TIME-WAITsockets

75730
领券