一、JMeter介紹
JMeter是Apache組織開發的基於Java的壓力測試工具。用於對軟件做壓力測試,它最初被設計用於Web應用測試,但后來擴展到其他測試領域。它可以用於測試靜態和動態資源,例如靜態文件、Java 小服務程序、CGI 腳本、Java 對象、數據庫、FTP 服務器, 等等。JMeter 可以用於對服務器、網絡或對象模擬巨大的負載,來自不同壓力類別下測試它們的強度和分析整體性能。另外,JMeter能夠對應用程序做功能/回歸測試,通過創建帶有斷言的腳本來驗證你的程序返回了你期望的結果。為了最大限度的靈活性,JMeter允許使用正則表達式創建斷言。
簡單來說,JMeter是主要用於執行負載測試、性能測試和壓力測試的工具。負載測試、性能測試和壓力測試概念:
負載測試: 這類測試使系統或者應用程序在預先設計好的極端場景下測試運行。這類測試用來評估系統或者程序在極端條件下的行為。
性能測試: 這種測試被用來檢測系統的性能表現,包括特定情況下,系統的響應能力和穩定性。
壓力測試: 這類測試通過載入更多的外部資源,並使系統組件超越其所設定的能力范圍,試圖使系統掛掉。
二、下載配置安裝
1.下載地址:http://jmeter.apache.org/download_jmeter.cgi (在下載安裝JMeter之前,要先配置好java環境才可使用JMeter哦)。
2.下載完成后,解壓到你想解壓的位置
3.配置環境變量
①在用戶變量量中新建用戶名“JMETER_HOME”,變量值為“D:\apache-jmeter-5.1.1\apache-jmeter-5.1.1” (這里是你自己的解壓后的文件夾的地址)。
②在系統變量中的"CLASSPATH"追加“;%JMETER_HOME%\lib\ext \ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib \logkit-1.2.jar;”。
在這里有一點需要注意,在我的安裝目錄中並沒有找到lib\logkit-1.2.jar這個jar包,所以,在這里需要自行下載一個jar包到lib目錄下。下載地址:http://www.java2s.com/Code/Jar/l/logkit.htm。
(別忘了解壓到JMeter的lib目錄下哦)
4.打開JMeter
打開bin目錄下的JMeter的bat文件,即可運行打開JMeter。
三、JMeter入門壓測實例
1.新建一個線程組。JMeter是java實現的,並且使用一個java線程來模擬一個用戶,因此線程組就是一組虛擬用戶的意思。這些虛擬用戶是用來模擬訪問被測系統。
2.設置線程參數。
①線程數(用戶):想要模擬的虛擬用戶的數量。
②Ramp-Up Period (in seconds)(虛擬用戶增長時長):設置的虛擬用戶訪問url的時長,是在一個時間同時訪問,還是在一段時間持續訪問。
這里引用一個前輩舉的例子:
比如你測試的是一個考勤系統,那么實際用戶登錄使用考勤系統的時候並不是大家喊1、2、3 - 走起,然后一起登錄。實際使用場景可能是9點鍾上班,那么從8:30開始,考勤系統會陸陸續續有人開始登錄,直到9:10左右,那么如果完全按照用戶的使用場景,設計該測試的時候此處應輸入40(分鍾)* 60(秒)= 2400。但是實際測試一般不會設置如此長的Ramp-Up時間,原因嘛,難道你做一次測試要先等上40分鍾做登錄操作?一般情況下,可以估計出登錄頻率最高的時間長度,比如此處可能從8:55到9:00登錄的人最多,那這里設置成300秒,如果“線程數”輸入為100,則意味着在5分鍾內100用戶登錄完畢。
③循環次數:設置一個虛擬用戶循環做多少次測試,默認為1,做完一遍就結束。選中“永遠”運行起來永遠不會停止,一直循環,只能手動停止了。
3.添加被測的頁面url或接口
4.點擊運行,開始壓測
5.查看運行日志
6.新增監聽器,用於查看壓測結果。這里添加3種:聚會報告、圖形報告、用表格查看結果,區別在於結果展現形式的不同。
再次運行,進行壓測,監聽結果如下:
其他關於JMeter龐大的功能,待我后續挖掘~