arthas 是阿里出品的一款开源的java 诊断工具,原理是使用java 字节码增强技术。可以用来排查线上应用问题,最近公司在做压测,fullgc,接口性能优化,arathas 也是发挥了很大作用,这里我也记录一下。
下载之后解压运行
java -jar arthas-boot.jar
[appadm@moonmall_F1 ~]$ java -jar arthas-boot.jar
[INFO] arthas-boot version: 3.5.0
[INFO] Found existing java process, please choose one and input the serial number of the process, eg : 1. Then hit ENTER.
* [1]: 118918 embedded-zk-0.0.1-SNAPSHOT.jar
[2]: 60119 cn.com.bluemoon.mallorder.MallOrderGenApplication
[3]: 116166 cn.com.bluemoon.commodity.MallOrderApplication
[4]: 62345 cn.com.bluemoon.mallorder.MallOrderBizApplication
输入 应用id 2
输入 dashboard 可以看到应用的基本信息
可以通过 thread 线程号 查看线程执行情况
sm 查看类的方法
cn.com.bluemoon.commodity.goodsbiz.goods.service.impl.BmBusinessGoodsServiceImpl*
trace 监听方法的执行时长
trace cn.com.bluemoon.commodity.goodsbiz.goods.service.impl.BmBusinessGoodsServiceImpl getSubGoodsDetailList
请求接口后得到数据
通过这些数据可以进行接口优化