jstack 信息可视化对分析性能瓶颈的帮助

2023-07-28 15:24:27 +08:00
 ZiChun
最近公司有一次服务器宕机,根据压测发现某些接口 QPS 只有 10 几。
看了下那些接口的业务逻辑,有大量的接口调用、数据组装,要是挨个加日志查耗时也太慢了。
想了想不如直接通过持续采样的方式看看线程的分布情况,如果没有问题的话,火焰图应该是比较均匀的分布,如果存在问题,应该会有比较多的线程都集中在某个方法上。
于是做了个小工具( https://github.com/ZichunYang/jstack-2-flame-rs)
然后直接开始压测,持续采样了一段时间的 jstack 信息生成火焰图,发现大部分线程都卡在了跨中心调用的某几个方法中,于是向上反馈跨中心调用的性能问题,经过测试同事的压测发现果然是那几个接口 QPS 太低导致的。

故分享一下通过 jstack 可视化方案来高速识别性能瓶颈的方案。
1127 次点击
所在节点    Java
0 条回复

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

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

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

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

© 2021 V2EX