亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

調查線上接口超時報警的方法步驟

發布時間:2021-10-13 13:32:58 來源:億速云 閱讀:149 作者:iii 欄目:編程語言

這篇文章主要介紹“調查線上接口超時報警的方法步驟”,在日常操作中,相信很多人在調查線上接口超時報警的方法步驟問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”調查線上接口超時報警的方法步驟”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

常用的命令包括 dashboard 、 thread -n、watch、trace 、 tt 等命令。

trace: 可以實時輸出各個子調用的執行時間, 輸入參數,返回值,是否該調用有異常,可以通過 trace -h 查看具體參數含義 tt: 將某一次耗時調用提取,然后重放,可以通過 tt -h 查看具體參數含義

第一步:trace定位耗時代碼:

trace命令輸出耗時超過 900 毫秒 的調用

trace com.kuaikan.comicbuy.repository.impl.ComicBuyRepositoryImpl getAllComicOrderFromDB  '#cost>900'  //查看耗時的調用路徑
 
watch  com.kuaikan.comicbuy.dao.comicbuy.ComicOrderMapper getHadPurchasedComicNumByTopicId {params,returnObj}  -x 2   '#cost>10' //獲取具體耗時的入參

輸出結果:

arthas@25316]$ trace com.kuaikan.comicbuy.repository.impl.ComicBuyRepositoryImpl getAllComicOrderFromDB  '#cost>900'
Press Q or Ctrl+C to abort.
Affect(class-cnt:2 , method-cnt:1) cost in 786 ms.
`---ts=2020-03-27 14:08:28;thread_name=DubboServerHandler-10.66.2.100:20893-thread-380;id=344;is_daemon=true;priority=5;TCCL=org.springframework.boot.loader.LaunchedURLClassLoader@533377b
    `---[954.270866ms] com.kuaikan.comicbuy.repository.impl.ComicBuyRepositoryImpl:getAllComicOrderFromDB()
        +---[0.010746ms] com.kuaikan.comicbuy.bean.ComicOrder:getTableNameByUserId() #376
        // 代碼里面是在循環中執行的ComicOrderMapper:getComicOrderByUserId,
        // count=18表示循環的次數,total是總的執行時間,min是循環中最小的執行時間,max是最大執行時間。
        +---[min=3.061773ms,max=272.769328ms,total=854.625477ms,count=18] com.kuaikan.comicbuy.dao.comicbuy.ComicOrderMapper:getComicOrderByUserId() #382
 
        +---[min=0.001283ms,max=0.006587ms,total=0.036144ms,count=17] com.google.common.collect.Iterables:getLast() #383
        +---[min=0.001431ms,max=0.003022ms,total=0.032525ms,count=17] com.kuaikan.comicbuy.bean.ComicOrder:getId() #383
        +---[0.001445ms] com.google.common.collect.Lists:partition() #395
        +---[2.349703ms] com.kuaikan.comicbuy.dao.comicbuy.ComicOrderMapper:getComicOrderBatchIdsList() #396
        +---[min=2.27E-4ms,max=0.479048ms,total=7.025685ms,count=6736] com.kuaikan.comicbuy.bean.ComicOrder:getProductType() #402
        `---[min=8.2E-5ms,max=0.150606ms,total=5.636961ms,count=6736] com.kuaikan.comicbuy.bean.ComicOrder:getProductType() #403

第二步 : tt命令重放耗時調用

這一步的目的是為了判斷,耗時調用是否和特定輸入參數有關系 tt命令輸出耗時超過 500毫秒 的調用

tt   -t com.kuaikan.comicbuy.repository.impl.ComicBuyRepositoryImpl getAllComicOrderFromDB  '#cost>500'

輸出結果:

INDEX   TIMESTAMP          COST(ms)  IS-RET  IS-EXP  OBJECT        CLASS                         METHOD
------------------------------------------------------------------------------------------------------------------------------
 1014    2020-03-27 14:40:  576.2674  true    false   0x79476a4e    ComicBuyRepositoryImpl        getAllComicOrderFromDB
         37                 15
 1015    2020-03-27 14:40:  852.3366  true    false   0x79476a4e    ComicBuyRepositoryImpl        getAllComicOrderFromDB
         45                 85
 1016    2020-03-27 14:41:  894.5568  true    false   0x79476a4e    ComicBuyRepositoryImpl        getAllComicOrderFromDB
         08                 44
 1017    2020-03-27 14:41:  612.3478  true    false   0x79476a4e    ComicBuyRepositoryImpl        getAllComicOrderFromDB
         30                 68
 1018    2020-03-27 14:42:  1162.434  true    false   0x79476a4e    ComicBuyRepositoryImpl        getAllComicOrderFromDB
         00                 85
 1019    2020-03-27 14:42:  1194.843  true    false   0x79476a4e    ComicBuyRepositoryImpl        getAllComicOrderFromDB
         00                 248

第三步: 重復超時的請求

INDEX = 1018 的調用執行了1162.434毫秒,這個肯定是已經報RPC超時了.

查看某一個的詳細 tt -i 1018

重放這個請求: tt -i 1018 -p

到此,關于“調查線上接口超時報警的方法步驟”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

五指山市| 阜宁县| 大石桥市| 丰顺县| 兴国县| 合川市| 乐安县| 阿拉善右旗| 武邑县| 黄梅县| 库尔勒市| 桑日县| 佛教| 聊城市| 北流市| 延寿县| 上虞市| 华安县| 沂水县| 南城县| 长沙市| 万载县| 乐清市| 象山县| 大同市| 巩留县| 华宁县| 治县。| 惠安县| 新民市| 营山县| 华安县| 英吉沙县| 武冈市| 甘南县| 海晏县| 岳阳县| 金坛市| 西安市| 莱阳市| 宜宾县|