NO IMAGE

 

什麼是壓力測試 

顧名思義:壓力測試,就是  被測試的系統,在一定的訪問壓力下,看程式執行是否穩定/伺服器執行是否穩定(資源佔用情況)

比如: 2000個使用者同時到一個購物網站購物,這些使用者開啟頁面的速度是否會變慢,或者網站是否會奔潰

 

做壓力測試的常用工具

做壓力測試,一般要使用工具, 人工是沒辦法做的。   最常用的工具是LoadRunner, 但是LoadRunner畢竟是收費軟體,而且使用上也比較複雜。 現在越來越多的人開始使用Jmeter來做壓力測試。 免費, 而且使用上非常簡單。

 

做壓力測試的步驟如下:

1. 寫指令碼 或者錄製指令碼

2. 使用使用者自定義引數

3. 場景設計

4. 使用控制器,來控制 模擬多少使用者。

5. 使用監聽器, 檢視測試結果

 

本文做壓力測試的例子

本文舉的例項是: 在一臺電腦用Jmeter模擬200個使用者,同時去使用bing搜尋不同的關鍵字, 檢視頁面返回的時間是否在正常範圍內。

 

 

第一步: 使用CSV Data Set Config 來引數化

首先我們把測試需要用到的2個引數放在txt檔案中,

新建一個data.txt檔案,輸入些資料, 一行有兩個資料,用逗號分隔。

 

啟動Jmeter, 先新增一個Thread Group, 然後新增一個CSV Data Set Config (Add -> Config Element -> CSV Data Set Config)

 

第二步:新增HTTP Request.

我們新增http 請求,傳送get 到 http://cn.bing.com/search?q=部落格園 小坦克

選擇Thread Group 右鍵 (Add ->Sampler -> HTTP Request),  需要填的資料如下:

 

第三步: 使用Thread Group, 控制模擬多少使用者

選中Thread Group

Number of Threads(users):     一個使用者佔一個執行緒,  200個執行緒就是模擬200個使用者

Ramp-Up Period(in seconds):   設定執行緒需要多長時間全部啟動。如果執行緒數為200 ,準備時長為10 ,那麼需要1秒鐘啟動20個執行緒。也就是每秒鐘啟動20個執行緒。

Loop Count: 每個執行緒傳送請求的次數。如果執行緒數為200 ,迴圈次數為10 ,那麼每個執行緒傳送10次請求。總請求數為200*10=2000 。如果勾選了“永遠”,那麼所有執行緒會一直髮送請求,直到選擇停止執行指令碼。

 

第四步:  新增Summary Report 用來檢視測試結果

選中Thread Group 右鍵(Add -> Listener -> Summary Report)

 

 

第五步: 執行一下

到目前為止, 指令碼就全寫好了, 我們來執行下, 如何看下測試的結果