如果你想從頭學習Jmeter,可以看看這個系列的文章哦
https://www.cnblogs.com/poloyy/category/1746599.html
前言
- Stepping Thread Group是第一個自定義線程組
- 但,隨着版本的迭代,已經有更好的線程組代替Stepping Thread Group了【Concurrency Thread Group】,所以說Stepping Thread Group已經是過去式了
- 但,咱們還是要介紹下的滴
Stepping Thread Group的特性
- 有預覽圖顯示估計的負載
- 可延遲啟動線程組
- 可持續增加線程負載
- 可設置最大負載的持續運行時間
Stepping Thread Group的作用
- 減少服務器的瞬時壓力,做性能測試應該逐步增加壓力,而不是瞬時加壓
- 逐步增壓越平緩越好,更容易從結果看到多少壓力值下,有性能瓶頸
Stepping Thread Group參數詳解
- this group will start:表示總共要啟動的線程數;若設置為 100,表示總共會加載到 100 個線程
- first,wait for:從運行之后多長時間開始啟動線程;若設置為 0 秒,表示運行之后立即啟動線程
- then start:初次啟動多少個線程;若設置為 0 個,表示初次不啟動線程
- next add:之后每次啟動多少個線程;若設置為 10個,表示每個梯次啟動 10 個線程
- threads every:當前運行多長時間后再次啟動線程,即每一次線程啟動完成之后的持續時間;若設置為 30 秒,每梯次啟動完線程之后再運行 30 秒
- using ramp-up:啟動線程的時間;若設置為 5 秒,表示每次啟動線程都持續 5 秒(和基礎線程組的ramp-up一樣意思)
- then hold load for:線程全部啟動完之后持續運行多長時間,如圖:設置為 60 秒,表示 100 個線程全部啟動完之后再持續運行 60 秒
- finally,stop/threads every:多長時間釋放多少個線程;若設置為 5 個和 1 秒,表示持續負載結束之后每 1 秒鍾釋放 5 個線程
從負載預覽圖,讀懂所有參數

- 從第0秒開始啟動線程,每 5 秒內啟動10個線程並且運行30秒,以此循環,直到一共啟動了 100 個線程
- 當已啟動 100 個線程后,持續負載運行60秒
- 持續負載運行60秒后,每 1 秒釋放五個線程,直到全部線程被釋放【注意:線程釋放過程中,線程依然在運行】
結合Active Threads Over Time
- 運行Stepping Thread Group需要和Active Threads Over Time結合起來使用,這樣能看到動態的階梯加壓效果
- 可以看到和Stepping Thread Group負載預覽圖基本一致,證明加壓效果是正常的