Java使用JMeter進行高并發(fā)測試
軟件的壓力測試是一種保證軟件質量的行為.在金融,電商等領域應用比較普遍.通俗的講,壓力測試即在一定的硬性條件下,模擬大批量用戶對軟件系統(tǒng)進行高負荷測試.需要注意的是,壓力測試的目的不是為了讓軟件變得完美無瑕,而是通過壓力測試,測試出軟件的負荷極限,進而重新優(yōu)化性能或在實際的應用環(huán)境中控制風險.
常見的壓力測試工具:
1. LoadRunner:支持多種常用協(xié)議多且個別協(xié)議支持的版本比較高;可以設置靈活的負載壓力測試方案,
可視化的圖形界面可以監(jiān)控豐富的資源;報告可以導出到Word、Excel以及HTML格式。
LoadRunner官網:https://saas.hpe.com/zh-cn/software/loadrunner
2.NeoLoad是Neotys出品的一種負載和性能測試工具,可真實地模擬用戶活動并監(jiān)視基礎架構運行狀態(tài),從而消除所有Web和移動應用程序中的瓶頸。NeoLoad通過使用無腳本GUI和一系列自動化功能,可讓測試設計速度提高5-10倍,并將維護的腳本維持在原始設計時間的10%,同時幫助用戶使用持續(xù)集成系統(tǒng)自動進行測試。
NeoLoad支持WebSocket、HTTP1/ 2、GWT、HTML5、AngularJS、Oracle Forms等技術協(xié)議,能夠監(jiān)控包括操作系統(tǒng),應用服務器,Web服務器,數據庫和網絡設備在內的各種IT基礎設施,同時可以通過Neotys云平臺發(fā)起外部壓力。
官網鏈接:http://www.neotys.com/product/overview-neoload.html
3.JMeter:是開源測試工具,專門為運行和服務器負載測試而設計、100%的純Java桌面運行程序。
原先它是為Web/HTTP測試而設計的,但是它已經擴展以支持各種各樣的測試模塊。
它和HTTP和SQL(使用JDBC)的模塊一起運行。它可以用來測試靜止或活動資料庫中的服務器運行情況,
可以用來模擬服務器或網絡系統(tǒng)在重負載下的運行情況。它也提供了一個可替換的界面用來定制數據顯示,
測試同步及測試的創(chuàng)建和執(zhí)行。多平臺支持,可在Linux,Windows,Mac上運行
官網鏈接:http://jmeter.apache.org/
使用JMeter進行高并發(fā)測試
1.下載并安裝JMeter
下載JMeter 5.0,并將下載后的apache-jmeter-5.0.zip 解壓到固定目錄.
然后配置jmeter環(huán)境:
1.修改變量JMETER_HOME,值為實際壓縮路徑
2.修改Path變量,追加以下內容? %JMETER_HOME%\bin;
3.修改或添加CLASSPATH變量,添加以下內容:
%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar; %JMETER_HOME%\lib\jorphan.jar;
2.使用JMeter進行測試
打開命令提示符窗口,輸入"jmeter"命令啟動JMeter,或者打開bin下的jmeter.bat,如圖所示:

設置jmeter語言為中文

添加測試計劃

添加線程組

設置線程參數
線程數:要啟動的線程數目
Ramp-Up Period(in seconds):線程啟動時間間隔,如果為0,則代表同時啟動對應線程數的線程,即并發(fā)數
循環(huán)次數:請求執(zhí)行次數

添加http請求

設置http請求相關系數

添加"察看結果樹"監(jiān)聽器

啟動測試計劃

查看測試結果


3.生成測試報告
jmeter -n -t D:\jmeter\jmeter-5.0\backups\測試計劃.jmx?-l d:\jmeter\result.jtl -e-o d:\result
?參數說明:
)n:非GUI模式執(zhí)行JMeter;
)t: 腳本文件(.jmx文件)的路徑;
)l: 指定生成測試結果的保存文件(.jtl格式),此文件必須不存在;
)e:測試結束后,生成測試報告;
)o:用于存放測試報告的路徑;



4.分析測試報告
APDEX是一個國際通用標準,是用戶對應用性能滿意度的量化值.定義了2個用戶滿意度閾值,是綜合并發(fā)測試中的所有線程響應時間,并結合滿意度閾值量化出的具體數值.
Requests Summary(請求摘要)
表示執(zhí)行成功和失敗的請求數目的具體占比,OK表示執(zhí)行成功,KO表示執(zhí)行失敗,JMeter主要以HTTP狀態(tài)碼是否為200來判斷請求的成功與失敗.
Statistics(綜合統(tǒng)計圖)
Statistics為綜合性的請求響應時間及響應狀態(tài)的統(tǒng)計圖,包括了請求數,請求失敗數,請求錯誤比例,平均響應時間,最小響應時間,最大響應時間等.
到此這篇關于Java使用JMeter進行高并發(fā)測試的文章就介紹到這了,更多相關Java JMeter高并發(fā)測試內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

