1. 程式人生 > 實用技巧 >使用arthas 分析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