下載地址:http://jmeter.apache.org/download_jmeter.cgi
JMeter基於Java開發,需要系統有安裝JDK環境。解壓后進入bin目錄,點擊jmeter.bat
1、添加線程組:
測試計划 -> 添加 -> Threads(User) -> 線程組,添加后進入如下界面:
線程數:表示將模擬多少個用戶進行測試。
Ramp-Up Period(in seconds):線程啟動間隔,所有線程將在這個時間內依次啟動。
循環次數:所有線程執行一次為一次循環。
如果線程數為200 ,循環次數為10 ,那么每個線程發送10次請求。
總請求數為200*10=2000 。
如果勾選了“永遠”,那么所有線程會一直發送請求,直到選擇停止運行腳本。
2、添加采樣器:
采樣器可理解為針對前面創建的線程需要做什么事情,這里以添加HTTP請求為例。
1)線程組 -> 添加 -> Sampler -> HTTP請求,添加后進入如下界面:
上圖為壓測http的get類型接口,url中${newId}和${page}是動態參數,需要從文件中獲取。對於post類型接口,如下圖:
服務器名或ip:填寫服務器ip地址(例如:192.168.1.23)
路徑:填寫url接口剩余部分;
協議:向目標服務器發送http請求時的協議,可以是http或者是https,默認值為http
方法:發送http請求的方法,可用方法包括get、post、head、put、options、trace、delete等。
Content encoding:內容編碼方式
路徑:目標url路徑(不包括服務器地址和端口)
自動重定向:如果選中該選項,當發送http請求后得到的響應是302/301時,jmeter自動重定向到新的頁面。
Use keep Alive:當該選項被選中時,jmeter和目標服務器之間使用keep-Alive方式進行http通信,默認選中
Use multipart/from-data for http post:當發送http post請求時,使用Use multipart/from-data方法發送,默認不選中。
同請求一起發送參數:在請求中發送URL參數,對於帶參數的URL、jmeter提供了一個簡單的對參數化的方法。用戶可以將url中所有參數設置在本表中,表中的每一行是一個參數值對(對應URL中的名稱名稱1=值1 )
同請求一起發送文件:在請求中發送文件,通常,http文件上傳行為可以通過這種方式模擬。
2)添加CSV Data Set Config 來參數化
在d盤建立如下data.txt文件,在variable Names中輸入newId,page后,在http請求中就可以通過${newId}獲取到
3)如果是post接口,則把post數據寫到parameters下面
3、添加監視器
監視器可以理解為針對結果的不同查看方式。JMeter里提供了多種結果表現形式。可通過 HTTP請求 -> 添加 -> 監視器 -> 察看結果樹、聚合報告等等。
聚合報告各指標:
Label:每個 JMeter 的 element(例如 HTTP Request)都有一個 Name 屬性,這里顯示的就是 Name 屬性的值
Samples:表示你這次測試中一共發出了多少個請求,如果模擬10個用戶,每個用戶迭代10次,那么這里顯示100
Average:平均響應時間——默認情況下是單個 Request 的平均響應時間,單位為毫秒。當使用了 Transaction Controller 時,也可以以Transaction 為單位顯示平均響應時間
Median:中位數,也就是 50%用戶的響應時間
90% Line:90% 用戶的響應時間
Min:最小響應時間
Max:最大響應時間
Error%:本次測試中出現錯誤的請求的數量/請求的總數
Throughput:吞吐量——默認情況下表示每秒完成的請求數(Request per Second),當使用了 Transaction Controller 時,也可以表示類似 LoadRunner 的 Transaction per Second 數
KB/Sec:每秒從服務器端接收到的數據量,相當於LoadRunner中的Throughput/Sec