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