生產(chǎn)環(huán)境某個(gè)請(qǐng)求慢,可以這樣排查.Arthas利器

這段時(shí)間在做產(chǎn)品的性能測(cè)試,一直達(dá)不到壓測(cè)指標(biāo),而且遠(yuǎn)高于壓測(cè)指標(biāo)數(shù)據(jù)。通過(guò)系統(tǒng)運(yùn)行日志,只能體現(xiàn)某個(gè)模塊耗時(shí)長(zhǎng),正常到模塊已經(jīng)足夠分析了,可偏偏這個(gè)模塊對(duì)應(yīng)的業(yè)務(wù)沒(méi)有數(shù)據(jù),數(shù)據(jù)庫(kù)dba也反饋數(shù)據(jù)庫(kù)層面正常,沒(méi)有理由會(huì)慢,所以就就麻煩了。

通過(guò)jvm看內(nèi)存運(yùn)行情況也看不出啥問(wèn)題,跟技術(shù)大佬交流,也覺(jué)得很奇葩,不過(guò)他推薦了一個(gè)軟件可以用來(lái)排查這個(gè)雜癥,通過(guò)這個(gè)軟件一步步跟蹤下去,定位到原來(lái)是一個(gè)組件有缺陷導(dǎo)致。

arthas.

是Alibaba開(kāi)源的Java診斷工具,采用命令行交互模式,提供了豐富的功能,是排查jvm相關(guān)問(wèn)題的利器。安裝簡(jiǎn)單,只要有jdk環(huán)境即可,感興趣的可以去官網(wǎng)閱讀,這邊簡(jiǎn)單分享下trace命令的使用。

啟動(dòng):java -jar arthas-boot.jar 進(jìn)程ID

跟蹤:trace 包名.類(lèi)名 要跟蹤的方法比如com.test.TestDemo doRun方法。

再運(yùn)行到這個(gè)類(lèi)的方法時(shí),會(huì)顯示這個(gè)方法調(diào)用哪個(gè)API耗時(shí),對(duì)應(yīng)的行數(shù)也會(huì)顯示。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容