首页
社区
课程
招聘
[原创]一次centos内核配置参数tcp_tw_recycle和tcp_timestamps引发的问题
发表于: 2019-9-20 17:27 13173

[原创]一次centos内核配置参数tcp_tw_recycle和tcp_timestamps引发的问题

2019-9-20 17:27
13173

大致网络拓扑如下:


业务刚上线,数据量不大,一直运行平稳未发现任何异常情况,直到智博会该系统拿到会场展示,访问量暴增,问题就出现了。

下午开始出现大量用户不能正常访问接口服务,部分业务瘫痪,搞得老夫头皮发麻,开始一系列紧张的排查:

首先排查业务日志,无任何报错现象,ZABBIX监控无异常,排查NGINX的access日志,没有发现大量访问日志,至此基本可以认定,业务访问请求报文还没到达nginx就已经被抛弃。

后续抓包也证明了果然如此,tcpdump抓包如下



Tcp握手全部失败,马上开始百度,谷歌查询问题,最后发现与sysctl.conf中2个参数有关:


修改前net.ipv4.tcp_timestamps的配置为1

按照网上所说改为0,问题立即解决。

为深入分析原因,下载对应版本的内核源码看了下

找到内核处理TCP连接函数:tcp_v4_conn_request,对于该设置的处理流程如下:


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 3
支持
分享
最新回复 (5)
雪    币: 26205
活跃值: (63302)
能力值: (RANK:135 )
在线值:
发帖
回帖
粉丝
2
感谢分享!
2019-9-20 22:43
0
雪    币: 47147
活跃值: (20460)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
3
感谢分享!
2019-9-21 20:46
0
雪    币: 2044
活跃值: (237)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
4
感谢分享
2019-10-5 00:13
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
5
感谢分享!
最后一句“后续要求NAT网关转发真实用户IP”有点疑问:这个问题是由于客户端使用了NAT导致的,要求NAT网关转发真实用户IP,应该是无法做到的吧?
2020-3-24 14:47
0
雪    币: 1753
活跃值: (885)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
6
mb_cslvjqas 感谢分享! 最后一句“后续要求NAT网关转发真实用户IP”有点疑问:这个问题是由于客户端使用了NAT导致的,要求NAT网关转发真实用户IP,应该是无法做到的吧?
哦··
这玩意~~上头是F5做的负载均衡网关~
当时不记得是为啥做了些骚操作~~
后面网络结构做了调整,现在才好了~
2020-4-17 14:33
0
游客
登录 | 注册 方可回帖
返回
//