jmeter進行http壓力測試(圖文小教程)
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}是動態引數,需要從檔案中獲取
伺服器名或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}獲取到
1,1
11,1
111,1
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
參考:http://www.fblinux.com/?p=339