官网地址:https://arthas.aliyun.com/doc/install-detail.html

热更新线上代码:https://www.cnkirito.moe/arthas-redefine/

命令都比较简单,实际使用调试如下
image.png

如何排查接口速度慢

  1. 先排查网络波动的问题,即实际页面上接口请求速度,去掉发送至服务器和服务器返回时间
  2. 确定是接口内部慢后,猜测是内存或者CPU问题,用top、free查看宿主机硬件环境
    1. 如果是CPU问题,查看CPU暴增的问题,top -p -H找到对应子线程,然后jstack -l dump出堆栈信息,查看cpu高的子线程的执行栈方法调用
    2. 使用jstat -gcutil 查看内存占比和gc回收时间。如果是内存频繁gc的问题,jmap -histo:live |head 20看下前20占比大小的对象和数量,不能就dump下来用MAT或者JProfile分析
  3. 如果都比较正常,考虑mysql的慢查询,看下mysql慢查询日志
  4. 可以直接通过Arthas的trace命令,追踪统计链路上性能开销(耗时)