2025年宽带出现服务器响应超时,客户端请求服务端莫名出现超时

宽带出现服务器响应超时,客户端请求服务端莫名出现超时背景 客户端请求服务端域名 进行查询操作 偶尔出现 200ms 延迟 且对于该请求服务端执行速度 4ms 左右 此问题非常诡异 决定对此进行研究 下面记录下当时详细的定位 amp 解决流程 问题定位 1 分析代码 服务端系统是一个常见的 spring boot web 工程 使用了集成的 tomcat 分析了代码之后 发现并没有特殊的地方 没有特殊的过滤器或者拦截器

大家好,我是讯享网,很高兴认识大家。

背景:

客户端请求服务端域名,进行查询操作,偶尔出现200ms+延迟,且对于该请求服务端执行速度4ms左右,此问题非常诡异,决定对此进行研究. 下面记录下当时详细的定位&解决流程

问题定位:

1、分析代码

服务端系统是一个常见的spring-boot web工程,使用了集成的tomcat。分析了代码之后,发现并没有特殊的地方,没有特殊的过滤器或者拦截器,所以初步排除业务代码问题.

2、确定调用链路

bVcTEJI
讯享网

3、问题排查分析

3.1、网络层问题,抓包 ()

确定耗时位置是 客户端调用F5,还是 F5 调用 服务端 ?

3.1.1 服务端ack出现大量 RST

bVcTEJK

通过跟踪RST的HTTP 流 发现:在FIN最后一次关闭之后 , 服务端向客户端发送了 FIN 关闭连接的请求,然后服务端又向客户端发了报文导致RST. 抓包如下:

bVcTEJR

怀疑是连接不能复用导致的建联耗时,经排查代码发现,客户端未使用连接池,因此 客户端增加HTTP 连接池来解决此类问题 .

3.1.2 网络耗时长,抓包

经过2.1.1 的优化之后,还是存在调用超时的现象,现在我们通过wireshark 抓包观察,发现客户端与F5之间无超时情况,客户端发出请求后,随机收到了F5的ACK;F5 发出请求后,间隔40ms 收到服务端的ack , 此处就引出了另外一个问题,就是 TCP 神奇的40 ms (https://cloud.tencent.com/dev... 大家可以自行去备注的链接去研读,这里篇幅时间有限,不在进行赘述 .

3.2、网络层无波动,考虑应用层

开始考虑服务端 socket 连接 和 服务端容器方向

3.2.1. 服务器socket连接

跳过F5 负载,直接使用IP:port 的方式请求服务端()

观察日志:

小讯
上一篇 2025-04-06 20:17
下一篇 2025-03-10 13:28

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/46802.html