在添加線程組:發現線程組種類挺多的 翻查資料后對幾個工具進行總結;

原本想寫三個 在翻閱資料,后發現下面博文比較詳情,
本文大部分來自:
https://blog.csdn.net/sinat_32434273/article/details/81119516
本文 jmeter 版本是5.0
=======================================================================================
右鍵測試計划->添加->Threads(Users),選擇對應的線程組進行添加
基本的線程:
- Thread Group
- setup Thread Group
- tearDown Thread Group
通過插件形式添加的包括:
- bzm - Arrivals Thread Group
- bzm - Concurrency Threadp Group
- bzm - Free_From Arrivals Thread Group
- jp@gc - Stepping Thread Group(被棄用)
- jp@gc - Ultimate Thread Group
Thread Group、setUp Thread Group和tearDown Thread Group
(1)Thread Group是我們通常使用的線程,模擬用戶數,每一個線程就相當於一個虛擬的用戶;
(2)setUp Thread Group是一個特殊的線程組,用於執行測試之前的初始化操作;
(3)tearDown Thread Group是一個特殊的線程組,用於執行測試結束之后的回收工作;
Thread Group 線程組
線程組,或者可以叫用戶組,進行性能測試時的用戶資源池
是任何一個測試計划的執行開始點;
是控制器 和HTTP請求(采集器)必須在線程組內,監聽器等其他組件,可以直接放在測試計划之外;
線程組 每個字段設置的定義:
按照下面三個功能進行區分:
1.區域1:在取樣器出現錯誤后要執行的動作, 意思如果采樣器出現錯誤,將按照此設置執行
1.1 continue(繼續):將繼續執行接下來的操作;
1.2 start next thread loop: 忽略錯誤,執行下一次循環;
1.3 stop thread :停止當前線程(不在進行此線程的任何操作);
1.4 stop test: 等等當前采樣器執行結果后, 停止整個測試;
1.5 stop test now: 立即停止所有測試;
2. Thread Properties 線程屬性:
2.1 number of threads : 並發線,模擬多少個虛擬用戶操作
2.2 ramp_up period : 達到指定線程需要的時間,即在設置時間內線程數達到設定的線程數,不知道為所有線程全部啟動;如圖片表示線程數是50個,時間設置3,每秒需要啟動的線程數是:50/3=16.666
2.3 loop count : 循環次數, 如果不設定具體的值,就會一直循環下去,知道手動停止
2.4 delay thread creation until need 直到需要時延遲線程的創建
2.5 sceduler :調度器
3.Scheduler Configuration 調度器設置:
3.1 duration(seconds):壓測持續時間
3.2 start delay (seconds): 啟動延遲時間,即點擊啟動后在改時間之后才正式開始測試
2、Concurrency Thread Group、Stepping Thread Group
Concurrency Thread Group和Stepping Thread Group都可用於階梯式加壓測試,但是由於Stepping Thread Group已經不再被官方推薦使用了,我們對Concurrency Thread Group進行簡單介紹。

target concurrency:目標並發數
ramp up time(min):加速時間
ramp-up steps count:加速步驟計數
hold target rate time(min):保持目標費率時間
thread iterations limit:線程迭代次數限制
log threads status into file:將線程狀態記錄到文件
以上,以圖形的方式展示了線程加壓的過程。
例如:
100個線程組,加速時間為5分鍾,10個加速步驟,保持目標費率10分鍾:
10個加速步驟,每步10個線程組;
5分鍾/10步=0.5,每步0.5分鍾;即每0.5分鍾加載十個線程組,直到達到100個;
達到100個線程組之后,所有這些線程組將繼續運行,加壓十分鍾。
3、Ultimate Thread Group
該線程組與Concurrency Thread Group相類似,可以設置多個線程組的結合,各個時刻的運行結果都是幾個線程組的疊加。

start threads count:目標並發數
initial delay:啟動延遲時間
startup time:啟動目標線程所需時間
hold load for:以目標線程並發持續加壓時間
shutdown time:結束當前線程時間
4、Arrivals Thread Group
我們可以通過該線程組達到控制請求數的目的。

target rate:目標費率,每秒鍾多少個請求數
ramp up time(sec):達到目標費率需要的時間
ramp-up steps count:達到目標費率需要多少步
hold target rate time(sec):保持目標費率時間
thread iterations limit:線程迭代次數限制
log threads status into file:將線程狀態記錄到文件
concurrency limit:最大並發數限制
例如:
目標費率為100,加速時間為10秒鍾,5個加速步驟,保持目標費率10秒鍾:
5個加速步驟,每步20增加個費率;
10s/5步=2,每步2秒鍾;即每2秒鍾加載20個費率,直到達到100;
達到100個費率之后,按照這個標准進行加壓10秒鍾;
以上,前十秒鍾按照設置不斷增加費率,請求數為(20+40+60+80+100)*2=600個;后十秒鍾,按照每秒100個費率計算,請求數為100*10=1000個;共計1600個請求數。
5、Free-Form Arrivals Thread Group
該線程組與Arrivals Thread Group類似,不過是通過設置起始值、終止值和持續時間來達到壓測目的。而且可以設置多個線程的集合。


