生产环境 SpringBoot Tomcat 线程卡住

187 天前
 jmychou

生产环境使用 JDK8+SpringBoot2.x+SpringBoot 内嵌 tomcat9.x,

在 K8s Docker 环境部署,最近时有偶发的对方发起 HTTP 请求,这边隔了 2-10s 才会处理请求,网络抓包发现握手和响应请求报文 ACK 都很快,但是链路上看 Servlet 就是间隔了 2-10s 才进行处理

看了下当时的并发、资源情况和 GC 都很正常,由于是偶发的,本地也无法复现,所以想咨询各位大佬

2233 次点击
所在节点    程序员
22 条回复
Mystery0
186 天前
获取随机数的时候很慢?
xueling
185 天前
偶发性的问题不太容易定位,跟很多因素有关,可能是外部原因,比如正在 GC ,或者某个时间段网络/磁盘 IO 过载导致的,也可能是你接口本身的问题,其实原因挺多的。最好监控一下接口在各个耗时区间的分布情况,然后在每个重要环节都添加上耗时监控,再把 trackId 找出来比对日志逐一排查。偶发性的问题其实不太好排查,都是笨方法。可以了解一下我的开源项目: https://github.com/xl-xueling/xl-lighthouse ,让你轻松实现任意细粒度的接口耗时监控。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1043470

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX