一、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會根據你的斷言判斷該請求是否成功。可以通過聚合報告檢視整體測試的失敗率等資訊。通過配合線程組的同時啟動線程量,以及響應時間等資訊來進行壓測,并出具測試報告。
原文位址:https://blog.csdn.net/qq_19674905/article/details/80824858