Apache JMeter
The Apache JMeter? application is open source software, a 100% pure Java application designed to load test functional behavior and measure performance. It was originally designed for testing Web Applications but has since expanded to other test functions.
?? 關(guān)于JMeter,這里不做過多說明,更多介紹可以查看官網(wǎng)。我們只需要知道這是一款用Java開發(fā)的壓力測試工具,可以模擬對服務(wù)器的請求來測試它們的負載強度,分析不同壓力類型下的整體性能。
1. 下載安裝
?? 注意: JMeter運行依賴于Java環(huán)境,所以請?zhí)崆把b好這些環(huán)境,并配置全局的環(huán)境變量。從上圖我們可以得知,JMeter4.0+更是需要Java8或者Java9環(huán)境。如果不需要了解源碼,這里我們只需要選擇下載“Binaries”一欄中的.tgz或.zip包即可,然后解壓即可。
2. 運行JMeter4.0
??進入bin目錄下,Windows平臺雙擊 "ApacheJMeter.jar" 或 “jmeter.bat” 即可,Linux下請啟動 “jmeter.sh” 腳本。
??這是JMeter4.0的主界面,可以看到這是用Java Swing寫的GUI。
3. JMeter4.0簡單介紹
??頂部導(dǎo)航欄中。最左邊的 File 選項,可用于新建、打開(最近)和保存測試計劃。重點關(guān)注第四個選項 Run,一般編寫完測試計劃后,我們可以在此下拉選擇啟動(或中斷),或者可以點擊第二欄中間部位的“綠色右三角標”進行啟動。再往右邊一點,可以看到有兩個帶有“掃帚”的圖案,這兩個是用來清除測試結(jié)果的。
- 在
Test plan(測試計劃)處,右鍵選擇Add,然后在Threads(Users)中選擇Thread Group(添加線程組),接下來簡單介紹一下線程組中的部分核心功能。
-
線程屬性
- 線程數(shù):模擬多少并發(fā)用戶,就設(shè)置多大的數(shù)值
- Ramp-Up Period (in seconds):并發(fā)訪問的時間范圍大小
- 循環(huán)次數(shù):執(zhí)行多少次循環(huán)(勾選“永遠”后線程組將一直執(zhí)行)
- 示例:線程數(shù)(1000),Ramp-Up Period(3),循環(huán)次數(shù)(2)
解釋:在3秒內(nèi)模擬共1000次的用戶并發(fā)請求,并循環(huán)執(zhí)行2次
-
調(diào)度器配置(勾選“調(diào)度器”選項開啟)
- 持續(xù)時間(秒):線程組執(zhí)行的總時長
- 啟動延遲(秒):執(zhí)行線程組后,延遲真正開始請求的時間,默認啟動后立刻執(zhí)行
Http請求:用于配置Http請求的信息
-
配置元件
- CVS數(shù)據(jù)文件設(shè)置:通過導(dǎo)入CVS文件,模擬不同的請求參數(shù)進行接口壓測(PS:頂部導(dǎo)航欄 “選項” -> "函數(shù)助手" 也可以實現(xiàn)類似的功能,后續(xù)實戰(zhàn)將進行一一介紹)
- Http信息頭管理:設(shè)置Http請求頭參數(shù)等
- Http Cookie 管理器:設(shè)置Cookie信息
察看結(jié)果樹:用于查看Http請求響應(yīng)結(jié)果信息
- 聚合報告:用于查看報告分析等信息
寫在最后
??注意,線程組的配置似乎是需要按順序進行的,否則可能會出現(xiàn)某些配置不生效的情況。下來我會進行實戰(zhàn)壓測演示,模擬對Http(s)和ws(s)接口的請求,歡迎關(guān)注。最后,附上示例的JMeter配置,下載后(無法自動下載,請點擊右鍵,選擇另存為即可),在JMeter中選擇導(dǎo)入即可。 demo.jmx