日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

curl循环监控_阿里巴巴开源性能监控神器Arthas

發布時間:2023/12/31 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 curl循环监控_阿里巴巴开源性能监控神器Arthas 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

線上經常遇到MQ消費速度忽高忽低,但是線下測試卻沒有問題。那會是哪一個問題引起的呢?因為影響MQ消費速度的因素太多了,如下因素只要任何一種出現問題,就會影響MQ消費速度。

  • JVM內存過高,一直在Full GC。

  • Redis連接堵塞,導致Redis操作一直延遲。

  • 第三方接口響應時間過長。

  • 服務器cpu/帶寬/IO受限。

  • Mysql出現慢sql,查詢過慢。

  • 程序本身問題(例如異常循環)。

  • 解決方案:

    為了排除具體原因,但是線上又不能進行錯誤調試,所以博主只能用最笨的辦法,每一行關鍵代碼,都寫上log日志,然后通過輸出每一行代碼的執行時間,來確定到底是哪里出錯。

    方案問題:

    但是打印日志的方式需要修改代碼,有一定的風險,修改完又需要重新發布才能生效。最重要的是,MQ消費需要跑大量的數據,大部分數據都是正常的,少部分數據是異常的,針對于這種情況,打印日志的方式就很難發現問題點。

    尋求更優解:

    那到底有沒有這么一個工具可以不用修改任何代碼,就可以排查線上問題呢?今天就給大家推送一款神器Arthas,這是阿里巴巴開源的一款性能監控工具。

    當你遇到以下類似問題而束手無策時,Arthas 可以幫助你解決:

  • 這個類從哪個 jar 包加載的?為什么會報各種類相關的 Exception?

  • 我改的代碼為什么沒有執行到?難道是我沒 commit?分支搞錯了?

  • 遇到問題無法在線上 debug,難道只能通過加日志再重新發布嗎?

  • 線上遇到某個用戶的數據處理有問題,但線上同樣無法 debug,線下無法重現!

  • 是否有一個全局視角來查看系統的運行狀況?

  • 有什么辦法可以監控到JVM的實時運行狀態?

  • Arthas入門:

    Arthas本質其實就是一個jar包,所以只需要去官網下載對應的jar就可以了,然后通過java -jar的方式啟動,例如:

    curl -O https://alibaba.github.io/arthas/arthas-boot.jar
    java -jar arthas-boot.jar

    啟動成功之后可以看到Arthas啟動標志,如下所示:

    [INFO] Try to attach process 71560
    [INFO] Attach process 71560 success.
    [INFO] arthas-client connect 127.0.0.1 3658
    ,---. ,------. ,--------.,--. ,--. ,---. ,---.
    / O \ | .--. ''--. .--'| '--' | / O \ ' .-'| .-. || '--'.' | | | .--. || .-. |`. `-.| | | || |\ \ | | | | | || | | |.-' |
    `--' `--'`--' '--' `--' `--' `--'`--' `--'`-----'

    wiki: https://alibaba.github.io/arthas
    version: 3.0.5.20181127201536
    pid: 71560
    time: 2018-11-28 19:16:24
    $

    Arthas也提供了Docker模式下的監控,我們只需要在DockerFile中增加如下代碼,就可以嵌入Arthas了。

    # copy arthas
    COPY --from=hengyunabc/arthas:latest /opt/arthas /opt/arthas

    MQ消費過慢終極解決方案:

    針對于上面提出的問題,MQ消費速度過慢,我們可以采用trace命令來解決,例如我們可以輸入:

    trace -j com.fourkmiles.advertisement.service.impl.CampaignsV2ApiMethodServicelmpl getSearchTermReport '#cost > 1000'

    這個命令的意思是,CampaignsV2ApiMethodServicelmpl類的getSearchTermReport方法中,打印出執行時間超過1000的方法。

    如下圖所示,它可以打印這個方法中每一行代碼所花費的時間。

    它還可以監測:線程、jvm、方法、方法執行路徑、服務運行情況、反編譯代碼、獲取方法返回值等功能,Arthas都給我們提供了方便的命令來查詢這些指標。

    總結:

    總體來說Arthas功能還是非常強大的,對應線上bug排查可謂雪中送炭。但是Arthas本質還是一個jar服務,所以對服務器是有一定性能損耗的,在不監控的時候一定要關閉Arthas對應的服務。

    官網地址:https://alibaba.github.io/arthas/install-detail.html

    林老師帶你學編程

    微信號 : lzqcode

    個人網站:wolzq.com

    ▇?掃碼關注我們

    總結

    以上是生活随笔為你收集整理的curl循环监控_阿里巴巴开源性能监控神器Arthas的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。