Jmeter---不同線程組的使用介紹(轉)


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

 

原本想寫三個 在翻閱資料,后發現下面博文比較詳情,

本文大部分來自:

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類似,不過是通過設置起始值、終止值和持續時間來達到壓測目的。而且可以設置多個線程的集合。

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM