V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ZiChun
V2EX  ›  Java

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

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

    故分享一下通过 jstack 可视化方案来高速识别性能瓶颈的方案。
    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2450 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 15:54 · PVG 23:54 · LAX 07:54 · JFK 10:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.