【轉載】Java內存分析工具--IDEA的JProfiler和JMeter插件

一、JProfiler簡介

  JProfiler 是一個商業授權的Java剖析工具,由EJ技術有限公司,針對的Java EE和Java SE應用程序開發的。它把CPU、執行緒和內存的剖析組合在一個強大的應用中。JProfiler可提供許多IDE整合和應用服務器整合用途。JProfiler的是一個獨立的應用程序,但其提供Eclipse和IntelliJ等IDE的插件。它允許兩個內存剖面評估內存使用情況和動態分配泄漏和CPU剖析,以評估線程衝突。JProfiler直覺式的GUI讓你可以找到性能瓶頸、抓出內存漏失(memory leaks)、並解決執行緒的問題。它讓你得以對heap walker作資源回收器的root analysis,可以輕易找出內存漏失;heap快照(snapshot)模式讓未被參照(reference)的對象、稍微被參照的對象、或在終結(finalization)隊列的對象都會被移除;整合精靈以便剖析瀏覽器的Java外掛功能。

二、JMeter簡介

  Apache JMeter是Apache組織開發的基於Java的壓力測試工具。用於對軟件做壓力測試,它最初被設計用於Web應用測試,但後來擴展到其他測試領域。 它可以用於測試靜態和動態資源,例如靜態文件、Java 小服務程序、CGI 腳本、Java 對象、數據庫、FTP 服務器, 等等。JMeter 可以用於對服務器、網絡或對象模擬巨大的負載,來自不同壓力類別下測試它們的強度和分析整體性能。另外,JMeter能夠對應用程序做功能/迴歸測試,通過創建帶有斷言的腳本來驗證你的程序返回了你期望的結果。爲了最大限度的靈活性,JMeter允許使用正則表達式創建斷言。
Apache jmeter 可以用於對靜態的和動態的資源(文件,Servlet,Perl腳本,java 對象,數據庫和查詢,FTP服務器等等)的性能進行測試。它可以用於對服務器、網絡或對象模擬繁重的負載來測試它們的強度或分析不同壓力類型下的整體性能。你可以使用它做性能的圖形分析或在大併發負載測試你的服務器/腳本/對象。

三、IDEA安裝JProfiler插件

  點擊install安裝該插件,安裝完成後需要重啓IDEA,左邊插件是通過jprofiler啓動tomat,並同時啓動jprofiler監測。右邊工具是將jprofiler直接綁定到一個活動的JVM中,即時進行監測。在通過profiler啓動tomcat的過程中,會出現如圖所示需要選擇的界面,按照需求選擇,我這裏是進行java class的jvm性能測試,所以在Initial recording profile中選擇 CPU recording ,其他按照默認配置即可。

  當然你也可以進行filter過濾設置、jdbc監測設置等。

   選擇完成後,profiler即進行JVM監控操作,這裏可以大致的看到內存、GC垃圾回收、Class、線程、以及CPU加載情況的監控。

  現在我們重點監控CPU加載情況監控。選中左邊CPU views ,點擊Attach可以修改關聯項。

  點擊jmeter.bat,啓動jmeter。創建線程組,右鍵線程組,添加-->配置元件-->HTTP信息頭管理器+HTTP請求   添加-->斷言-->響應斷言  添加-->監聽器-->查看結果樹+聚合報告,你也可以按照你的測試要求添加其他需要的組件,我這裏是對rest的接口進行測試,所以這些已經可以滿足要求。Http消息頭設置 contentType設置爲需要的json格式 application/json。在http請求中填寫你的需要測試的服務IP/端口/接口訪問路徑/請求方式/請求協議等信息。數據如果是post方式提交,請求的參數填寫至Body Data中即可。

  線程組線程數根據需要進行設定

  

 

   通過點擊工具中部的右三角圖標啓動jmeter測試。啓動完成後,我們可以通過jprofiler的CPU加載視圖查看對應的method默認級別的加載耗時性能結果。以tree的形式展示,通過這樣,你可以按照耗時進行有針對性的性能優化。同時,你可以通過jmeter的查看結果樹界面查看每次請求的相應返回結果信息。jmeter會根據你的斷言判斷該請求是否成功。可以通過聚合報告查看整體測試的失敗率等信息。通過配合線程組的同時啓動線程量,以及響應時間等信息來進行壓測,並出具測試報告。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章