#挑戰30天在頭條寫日記#
如何分析一下自己的web項目的性能消耗,一般我們會在開始與結束加時間相減列印出消耗時間。這種方法侵入率太高了,如果想利用arthas整體調優一下自己web項目的性能點的話,可以使用以下的步驟或思路。(當然xrebel也是一個不錯的選擇)
step1:從入口跟蹤
針對web項目,可以跟蹤servlet類。DispatcherServlet是整個程式的入口。
trace org.springframework.web.servlet.DispatcherServlet *
輸入指令後,再在浏覽器通路你的web應用,就會輸出相應的資訊,可以看到輸入代碼各類方法的耗時。也會有紅包标出占比最大的方法。
根據結果我們可以進一步的跟蹤,繼續使用trace指令
trace org.springframework.web.servlet.DispatcherServlet doDispatch
一步步的跟蹤最後會定位到業務controller、service、dao各層。
step3:模拟請求
當定位到具體的業務方法後,就可以使用tt指令檢視方法調用上下文資訊
tt -t com.wdbyte.arthas.service.UserServiceImpl mysql
通過tt -t 檢視到index,然後通過index重複調用。也就是你不用從頁面去觸發這個方法的調用這樣太耗時耗力了,可以通過tt直接來觸發請求。
tt -i 1001 -p
- 最後通過tt -i 與 trace重複配合,定位出性能消耗
==============================================
如果文章對你有幫助,不要忘記加個關注、點個贊!