一、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簡介
三、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會根據你的斷言判斷該請求是否成功。可以通過聚合報告查看整體測試的失敗率等信息。通過配合線程組的同時啟動線程量,以及響應時間等信息來進行壓測,並出具測試報告。