Jmeter階梯式壓測

2022-08-27 08:12:09 字數 2765 閱讀 7184

什麼是階梯式壓測?

階梯式壓測,就是對系統的壓力呈現階梯性增加的過程,每個階段壓力值都要增加乙個數量值,最終達到乙個預期值。然後保持該壓力值,持續執行一段時間。實際上,階梯式壓測,是負載測試的一種通用方法。

為什麼要階梯式壓測?

原因與負載測試是相同的。其目標是測試在一定負載情況下的系統效能,測試系統的不同負載情況下的效能指標。這種方法可以幫助我們,在最初無法預知伺服器效能的情況下,迅速的得到乙個極限值。在執行中,如果某個階梯時間內error率突然增加,那麼這個階段就是伺服器的某個極限值。這種方法,要比我們不斷地迴圈「設定併發值->執行->檢視結果->調整併發值」這樣乙個迭代過程要方便的多。

jmeter階梯式壓測方法

首先,安裝相關外掛程式,該外掛程式可以在外掛程式管理中找到。外掛程式安裝可參考: 。我們用到的就是這個concurrency thread group。這個外掛程式替代了之前的乙個外掛程式:stepping thread group(已廢棄),功能類似,不過使用上要更簡單。安裝步驟如圖:

第一步:開啟外掛程式管理器

第二步:選擇左側custom thread groups

第三步:點選右下的按鈕進行安裝

安裝完成後,我們開始建立測試計畫,並選擇concurrency thread group:

得到下圖:

上部分,是對遇到錯誤時的判斷操作,停止或繼續測試,可以根據需要進行選擇使用。

下部分,是該壓測的併發資料輸入框。來看下各個引數的含義:

target concurrency:目標併發數

ramp up time:加速時間

ramp-up steps count:加速次數

hold target rate time:保持目標速率時間

time unit:時間單位

thread iterations limit:執行緒迭代次數限制,即迴圈次數(空,即為一次)

log threads status into file:將執行緒狀態記錄到檔案中(儲存日誌檔案);

以圖中所示為例,首先time unit選擇的是min(分),輸入的資料為:

target concurrency: 50

ramp up time(min): 1

ramp-up steps count: 5

hold target rate time(min): 1

thread iterations limit: (空)

此用例場景為 ,在「ramp up time(min): 」1分鐘的時間內,一共產生目標執行緒「target concurrency: 」50個;並且,分成「ramp-up steps count: 」5個階段來完成;在目標執行緒產生結束後,維持該執行緒生產速度「hold target rate time(min): 」1分鐘;並且迴圈執行「thread iterations limit: 」1次。over。

圖中紅色線條顯示了單個迴圈內線程的產生概況,x軸為時間,共2min;y軸為執行緒數,最高50條。5個階梯顯示出了執行緒的階梯狀分布。

現在對某個主頁進行壓測實驗,併發引數就是上面輸入的引數。

聚合報告如下:

active threads over time如:

從「active threads over time」這個圖里可以清楚看到,併發執行緒數量呈現出明顯的階梯形狀。在不同的時間段內,伺服器處在不同的壓力級別當中。

那麼階梯式壓測與普通的壓測有什麼區別呢?

先按照普通壓測方式執行一次,檢視結果。併發資料輸入:

聚合報告如:

active threads over time如:

第一點不同,普通的壓測方式,併發的執行緒數是可預知的;而階梯壓測是未知的。

普通壓測,只要引數不變,每次結束後,#samples一定是50x30=1500。而階梯式壓測,每次的併發數是變化的。我們現在依照上面給的引數,再進行2次壓測。

第二次階梯壓測的聚合報告如:

第三次階梯壓測的聚合報告如:

第二點不同,」active threads over time」是不一樣的。普通壓測,執行緒只定義了初始產生的時間(50/秒,迴圈30次),而沒有定義後續執行緒。每個執行緒在完成了自己的生命週期後,就結束了。而階梯壓測,會保持活躍執行緒在乙個數值上,後續執行緒會持續產生。因此,在圖中會出現不同。

可以得知:階梯壓測的方式與普通執行緒產生的方式是不一樣的。

產生執行緒的間隔時間是根據壓測中的實際執行狀態來決定的。舊的執行緒結束的快,新的執行緒產生的就快。因此,每次階梯壓測的結果,匯流排程數都不一樣,因為每次壓測負載機和伺服器機的狀態都不一樣。

以上,就是對jmeter工具階梯壓測方式的簡單總結。歡迎補充。

jmeter 階梯式壓測

效能測試中,有時需要模擬一種實際生產中經常出現的情況,即 從某個值開始不斷增加壓力,直至達到某個值,或者使用快增長或者慢增長模式增加併發,然後持續執行一段時間。一般持續執行的時間是10 20分鐘。在jmeter中,有這樣乙個外掛程式,可以幫我們實現這個功能,這個外掛程式就是 stepping thr...

JMeter 階梯式壓測

l 測試背景 l 測試目的 300併發下 註冊介面響應時間1s內 註冊成功率90 測試方案 測試工具 jmeter 場景 從10併發開始,每5s加壓20併發,直至達到目的併發數300並維持30min,之後保持每5s停止50併發的速率關閉 結果 吞吐量 平均響應時間 錯誤率的關係圖表 硬體占用資料無法...

Jmeter(十三)階梯式壓測

階梯式壓測,就是對系統的壓力呈現階梯性增加的過程,每個階段壓力值都要增加乙個數量值,最終達到乙個預期值。然後保持該壓力值,持續執行一段時間。jmeter中有個外掛程式可以實現這個場景,這個外掛程式就是 concurrency thread group 安裝這個外掛程式並重啟jmeter,在測試計畫中...