Apache JMeter是Apache組織開發的基於Java的壓力測試工具。用於對軟件做壓力測試,它最初被設計用於Web應用測試,但後來擴展到其他測試領域,比如接口測試等。
Jmeter下載
Jmeter的官網下載地址:
https://jmeter.apache.org/download_jmeter.cgi
安裝及運行
我下載windows包:apache-jmeter-5.3.zip
解壓,例如我的路徑:D:\software\apache-jmeter-5.3
雙擊bin目錄下的jmeter.bat啓動jmeter
簡單壓測體驗
1,添加用戶組
test plan上右鍵Add > Theads(Users)> Thead Group
這裏簡單說明一下,用戶組這裏設置的就是虛擬用戶的集合。
2,設置用戶組參數
解釋一下這裏參數的含義:
Number of Threads(users):虛擬用戶個數,比如我這裏測試10個併發用戶;
Loop Count:循環次數,也叫迭代次數,每個虛擬用戶發送請求的次數。如果設置爲2,那麼我10個併發的話,就是發送20次請求。
我這裏想要按照持續時長來測試,所以這裏勾選Infinite,不限制次數;
Specify Thread lifetime:指定時長,由於我想按照持續時長來測試,所以勾選此項;
Duration (seconds):持續時長,我這裏配置爲60秒。
3,添加HTTP請求
Thread Group右鍵 > Add > Sampler > HTTP Request
4,配置HTTP請求參數
這裏用我自己搭建的一個簡單頁面來測試http://127.0.0.1/index.php
配置Server Name or IP爲被測站點的域名或IP,我這裏是127.0.0.1
配置請求的URL地址,我這裏是/index.php
5,添加監聽器,用於查看測試結果
這裏添加常用的4個監聽器,View Results Tree,Aggregate Report,Graph Results,View Results in Table,其中最最常用的是Aggregate Report
6,保存腳本,執行壓測,查看結果
其中最常用的就是聚合報告,其中的90%時間和Error%是關鍵的指標。
聚合報告參數詳解:
Label:採樣器的名稱;
#Samples:請求數——本次測試中一共發出了多少個請求;
Average:平均響應時間
Median:中位數,也就是 50% 用戶的響應時間
90% Line:90% 用戶的響應時間,表示90%的用戶請求在這個響應時間內,比較貼近用戶的體驗。
Min:最小響應時間
7. Max:最大響應時間
8. Error%:錯誤率——錯誤請求數/請求總數
9. Throughput:吞吐量——默認情況下表示每秒完成的請求數(Request per Second),當使用了 Transaction Controller 時,也可以表示類似 LoadRunner 的 Transaction per Second 數
10. KB/Sec:每秒從服務器端接收到的數據量,相當於LoadRunner中的Throughput/Sec
一般來說,壓測工作中比較關注的參數:90%響應時間,錯誤率,吞吐量。
至此,一個簡單的入門級壓測就搞定啦~~