基础信息说明
- 系统版本:centos6.5
- 业务场景:http短链接高并发,单点qps1500+;
实例分析
- 问题现象:客户端http短连接请求数据经常很慢;
- 抓包发现,http建立连接可能失败,重新建立连接至少等待3s;
- 排查过程:
-
查看服务端 netstat状态: netstat -s |grep -i reject
-
发现服务器有大量tcp连接被拒,原因和tcp时间戳有关,如:1800651 passive connections rejected because of time stamp
-
经排查,tcp时间戳校验和系统配置 net.ipv4.tcp_tw_recycle 有关, 通知运维调整系统参数:
#表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭
net.ipv4.tcp_tw_recycle = 0 -
调整上述参数后,tcp连接被拒的情况基本消失;但客户端还是存在连接异常的情况;
-
-
继续查看服务端netstat状态,
-