Java幾款效能分析工具的對比

2021-06-07 12:17:34 字數 1566 閱讀 4968

為了做出正確的選擇,我列出效能分析應滿足一些最低要求:

必須包括對應用程式的類、方法及時間的監測

必須包括對記憶體的監測

必須具有易用性

我配置了乙個使用restful介面的spring應用程式,使用mongodb作為資料儲存,還使用solr搜尋,並在tomcat伺服器上部署。

參考工具:

1.visualvm

visualvm是乙個資源分析工具,一直從jdk 6更新到7,它預設記憶體和cpu的監視,它可以告訴你哪個類和方法消耗資源,但它不會顯示**流程。

2.jprofiler

jprofiler很容易安裝,並且通過嚮導,你可以選擇應用伺服器用來執行應用程式。我不得不選擇使用jpofiler應用伺服器的主目錄,以及嚮導生成的乙個單獨的啟動指令碼。然後執行伺服器。在監聽會話的過程中,它會提供幾個選項,它可以記錄記憶體的使用和cpu的使用率。在檢視cpu使用率的同時,可以看到執行路徑。這讓我看到應用程式大部分時間都花在請求上。我們可以將intellij外掛程式安裝到ide上,那麼執行jprofiler會更加便利。比如,可以直接幫我啟動tomcat。

3.yourkit

yourkit是我在另乙個專案中偶然發現的一款效能分析工具,它的安裝很簡單。安裝時有乙個選項,可以安裝乙個外掛程式到我的ide。安裝後,執行應用程式,使用該外掛程式,它會自動連線到yourkit。它有乙個漂亮的使用者介面可以檢視到記憶體和cpu的監測,同時也可以看到請求的執行路徑。

4.jprobe

我剛開始建立jprobe時遇到點困難。安裝並不是直接完成,我需要對它進行配置。它採用了類似jprofiler一樣的設定。它會在你的tomcat目錄中生成啟動指令碼,可以通過指令碼啟動伺服器並監聽會話。它的介面包含有按鈕和**,其中可以看到記憶體的使用,但無法在程序中找到執行路徑。

5.spring insight

聽到tc server有spring insight監控介面,於是我興奮地嘗試了一下。安裝完成後,並設定成tc server的開發者版,然後部署應用程式在tc server上。我檢視insight介面,它可以很好的監視類和方法,並能看到完成這個方法用了多少時間。我還能看到輸入引數值,以及返回值。由於我的應用程式是基於spring的,spring insight能夠提供非常有用的資料。tc server外掛程式在ide上的配置與tomcat的配置類似。springsource工具套件就自帶spring insight。

結  論

如果你想監聽本地和遠端的程序,我會選擇jprofiler或yourkit.這兩個也可以幫助spring insight來監測、找到效能瓶頸。

jprofiler和yourkit已經能滿足我的上述要求。jprofiler、yourkit和spring insight都可以跟蹤應用程式的類和方法的流向。jprofiler和yourkit可以顯示記憶體使用情況。雖然spring insight不可以顯示記憶體使用情況,但它可以很好的顯示吞吐量的趨勢。這三款效能分析工具功能很清楚,不混亂,而且容易使用。最後,他們都有自己的 ide外掛程式。希望本文能幫助你做出正確的選擇。

Java幾款效能分析工具的對比

為了做出正確的選擇,我列出效能分析應滿足一些最低要求 必須包括對應用程式的類 方法及時間的監測 必須包括對記憶體的監測 必須具有易用性 我配置了乙個使用restful介面的spring應用程式,使用mongodb作為資料儲存,還使用solr搜尋,並在tomcat伺服器上部署。參考工具 1.visua...

測試MySQL效能的幾款工具

mysqlslap mysqlslap可以模擬伺服器的負載,並輸出計時資訊。它包含在mysql 5.1 的發行包中,應該在mysql 4.1或者更新的版本中都可以使用。測試時可以執行併發連線數,並指定sql 語句 可以在命令列上執行,也可以把sql 語句寫入到引數檔案中 如果沒有指定sql 語句,m...

幾款程式語言軟體的對比

比較了tradestation,metastock,ninjatrader,tradersstudio,multicharts,wealth lab,rightedge,openquant等幾種在elitetrader.com最多的平台。tradestation和metastock都有大量的現成 使...