本篇內(nèi)容主要講解“如何使用Arthas的trace命令排查線上服務(wù)平均響應(yīng)時(shí)間太長(zhǎng)問題”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“如何使用Arthas的trace命令排查線上服務(wù)平均響應(yīng)時(shí)間太長(zhǎng)問題”吧!
創(chuàng)新互聯(lián)建站于2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站建設(shè)、網(wǎng)站制作網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元彌渡做網(wǎng)站,已為上家服務(wù),為彌渡各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18982081108
最近線上環(huán)境某個(gè)接口服務(wù)響應(yīng)時(shí)間偏長(zhǎng),導(dǎo)致用戶體驗(yàn)超差,那平時(shí)該怎么快速的排查這類問題呢?
本文接下來(lái)將從兩方面展開:
下面我們先模擬線上環(huán)境:利用 SpringBoot 項(xiàng)目搭建,并且編寫好服務(wù)接口;
注意:服務(wù)接口代碼為了簡(jiǎn)便,只寫了 一些大循環(huán)的代碼 來(lái)模擬較長(zhǎng)的耗時(shí);除此之外,實(shí)際上還包含很多多其它常見的情況,例如:
服務(wù)接口代碼如下:
test1、test2方法如下:
第二步 JMeter 模擬用戶調(diào)用的測(cè)試腳本配置:
第三步服務(wù)接口 SpringBoot 代碼 和 JMeter 測(cè)試腳本的所在項(xiàng)目位置:
服務(wù)接口代碼準(zhǔn)備好后,使用IDEA開發(fā)工具等方式將其導(dǎo)出為 Jar 包 。
為了模擬最為真實(shí)的線上環(huán)境,需將準(zhǔn)備好的 服務(wù)接口 Jar 包放到 服務(wù)器中,然后使用命令 java -jar *.jar 運(yùn)行起 Jar 包;然后使用 JMeter 進(jìn)行接口的調(diào)用,在 聚合報(bào)告 中發(fā)現(xiàn)平均響應(yīng)時(shí)間偏長(zhǎng);如圖:
如果有用戶反映某功能響應(yīng)時(shí)間太長(zhǎng)了,別著急,根據(jù)下面的方法進(jìn)行排查,絕對(duì)方便又快速的找到問題原因。
Arthas 問題排查:
此時(shí)診斷工具還沒有運(yùn)行完,需要手動(dòng)選擇要診斷/監(jiān)控的java 進(jìn)程,并且此工具也會(huì)列出全部的java進(jìn)程號(hào),你只需要輸入 它們最前的序號(hào) [1] 即可;如圖:
運(yùn)行完后,可以使用 trace命令 監(jiān)控服務(wù)接口方法中調(diào)用的其它方法的耗時(shí);
trace 命令能主動(dòng)搜索 class-pattern/method-pattern 對(duì)應(yīng)的方法調(diào)用路徑,渲染和統(tǒng)計(jì)整個(gè)調(diào)用鏈路上的所有性能開銷和追蹤調(diào)用鏈路。
具體命令格式:trace [全限定類名][類中的方法名]
例如:監(jiān)控本服務(wù)接口;com.lyl.controller.TestController : 全限定類名,process:TestController 類中的方法;
具體命令舉例如下所示:
trace com.lyl.controller.TestController process
trace 命令執(zhí)行結(jié)果展示,如圖:
?通過trace 命令監(jiān)控統(tǒng)計(jì)的調(diào)用鏈路各個(gè)方法的執(zhí)行耗時(shí),可以發(fā)現(xiàn)調(diào)用的 com.lyl.util.StringUtil 類中的 test2() 方法執(zhí)行耗時(shí)比較大;所以需要特別去查看這個(gè)方法的代碼是否存在問題;如果這個(gè)代碼中還存在許多的方法調(diào)用鏈路,則需要再次使用 trace 命令進(jìn)行監(jiān)控調(diào)用鏈路的耗時(shí),找出具體可能存在問題的方法。
?
Arthas 阿里開源的診斷工具還提供了很多的命令供使用,大家可以去查看學(xué)習(xí)。B站搜“業(yè)余草”也可以查看到我之前錄制的視頻教程。
另外這里有兩個(gè)需要注意的地方:
到此,相信大家對(duì)“如何使用Arthas的trace命令排查線上服務(wù)平均響應(yīng)時(shí)間太長(zhǎng)問題”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
分享名稱:如何使用Arthas的trace命令排查線上服務(wù)平均響應(yīng)時(shí)間太長(zhǎng)問題
文章位置:http://jinyejixie.com/article38/jojppp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、標(biāo)簽優(yōu)化、網(wǎng)站改版、做網(wǎng)站、網(wǎng)站制作、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)