1. 程式人生 > >jmeter進行http壓力測試(圖文小教程)

jmeter進行http壓力測試(圖文小教程)

下載地址: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}是動態引數,需要從檔案中獲取

伺服器名或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