zoukankan      html  css  js  c++  java
  • 使用arthas 分析java 应用的一个流程总结

    arthas 是阿里巴巴开源的一个java 应用分析利器,但是很多时候我们在碰到一个陌生系统需要进行
    性能优化的时候会有好多不知道如何下手的问题,以下是自己的一些实践总结

    整体了解系统运行以及框架的

    这类还好,我们可以通过项目的代码结构,通过sc 查找相关的类然后通过trace,stack 以及watch ,jad等命令可以分析
    同时thread 是一个很不错的命令,可以知道系统的线程情况,一般可以先dashboard 了解系统情况,然后thread,之后
    进行trace,stack,以及watch 等操作

    对于黑盒系统

    优先使用火焰图(profiler),火焰图很不错,对于陌生系统是把利器,可以用来查看系统内部的运行情况(调用链)
    有了调用链以及,可以找到的消耗大的方法,我们就可以结合trace 以及watch 分析了,这样就可以方便的找出
    有异常的bug或者有异常的请求链路,同时结合jad 进行源码的发编译,查看可能的问题

    说明

    以上是一个简单的总结,以下是几个常用的命令

     
    trace class method   // 查看调用链
    watch class method  '{params,returnObj}' -x 5 //  查看方法的输入以及输出
    thread    // 查看线程信息
    profiler start // 开启火焰图
    dashboard 了解系统当前的整体情况

    参考资料

    https://arthas.aliyun.com/doc/
    https://github.com/alibaba/arthas

  • 相关阅读:
    第30周日
    第30周六
    第30周五
    第30周四
    第30周三
    第30周二
    第30周一
    第29周日
    软件架构学习小结
    数据挖掘十大经典算法
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/14149014.html
Copyright © 2011-2022 走看看