全链路压测出现大量TIME_WAIT

公司接了一个快递行业的单子,为了保证局方能在双十一期间系统能顺利运行,也为了证实我们应用能够抗下双十一的峰值,于是配合局方做了一次应对双十一流量高峰全链路压测。模拟局方接口发起sip协议,通过华为云的接入,并获取sip-calluuid转换为sip头,经防火墙、负载均衡器最终负载到每台机器,其中一台服务器的负载并发量为1200路并发,持续压测了十几分钟后,明显发现服务响应时间变慢,通过promotheus监控查看到调局方接口的响应延迟5+ minutes,但我们应用用的RestTemplate设置了读超时时间和写超时时间是5s,怎么算也不会到5m。通过lsof -I命令查看发现大量TCP请求出现了Time_Wait

为什么出现大量的Time_wait,这个还得从TCP的四次挥手说起,当tcp连接发起断开请求的时候并不是立马断开,而是主动关闭的一方先发起FIN请求,等被动方进入CLOSE_WAIT后,主动放将TCP状态改为TIME_WAIT,等待2MSL后才最终关闭TCP连接。那么TCP为什么设计TIME_WAIT,有两点好处:1,可靠地实现TCP全双工连接地终止;2,运行老地重发分节在网络中消逝。那么长连接出现大量地TIME_WAIT是为了保证双工通信时可靠的,我们java的http请求都是短链接,我们知道http请求是无状态的,这里TIME_WAIT是维持2MSL,这个可以查阅《TCP/IP详解》,

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值