JMeter之Throughput Controller詳解(實驗)


Throughput Contoller,直譯是吞吐量控制器,它是用來控制該控制器下面元件的執行次數,與控制吞吐量的功能無關。(注:用Constant Throughput Timer可以控制吞吐量。)

Throughput Contoller有兩種模式:Total ExecutionsPercent Executions

參數說明如下:

  • Total Executions:按吞吐量值來指定執行次數。選擇此模式,吞吐量值的單位為“次”。
  •  Percent Executions:按百分比來指定執行次數。選擇此模式,吞吐量值的單位為“%”。
  • 吞吐量:該值可以是任意整數,如果小於等於0,則一次也不執行。
  • Per User:如果勾選該項則按虛擬用戶數(線程數)來計算執行次數,如果沒有選中該項則按所有虛擬用戶數來計算執行次數。

那么如何計算Throughput Controller其下的執行次數?

下面添加循環控制器,在Throughput Controller下添加Debug Sampler元件來做實驗:

實驗一:測試按Percent Executions模式執行次數

TestCase1:線程數3,線程循環次數2,循環控制器循環次數2,吞吐量值50%,勾選Per User

測試結果:查看“聚合報告”里Debug Sampler執行次數,Debug Sampler=6,即執行了6次,如圖:

TestCase2:線程數3,線程循環次數2,循環控制器循環次數2,吞吐量值50%,不勾選Per User

測試結果,查看“聚合報告”里Debug Sampler執行次數,Debug Sampler=6,即執行了6次,如圖:

 

TestCase1與TestCase2測試結果對比表:

線程數

線程組循環次數

控制器循環次數

模式

吞吐量值

Per User

執行次數

3

2

2

Percent Executions

50

勾選

6

3

2

2

Percent Executions

50

不勾選

6

由此,得出結論:

無論Per User是否勾選,按Percent Executions模式的執行次數都不受Per User影響,Percent Executions模式的執行次數=線程數*循環次數*吞吐量%。

PS:循環次數=線程組循環次數*循環控制器循環次數。

 

實驗二:測試按Total Executions模式執行次數

 同樣,按照實驗一的初始條件不變:線程數3,線程循環次數2,循環控制器循環次數2,然后改變吞吐量值和是否勾選Per User來做實驗。

測試的實驗結果如下表:

線程數

線程組循環次數

控制器循環次數

模式

吞吐量值

Per User

執行次數

3

2

2

Total Executions

13

勾選

12

3

2

2

Total Executions

13

不勾選

12

3

2

2

Total Executions

12

勾選

12

3

2

2

Total Executions

12

不勾選

12

3

2

2

Total Executions

11

勾選

12

3

2

2

Total Executions

11

不勾選

11

3

2

2

Total Executions

10

勾選

12

3

2

2

Total Executions

10

不勾選

10

3

2

2

Total Executions

5

勾選

12

3

2

2

Total Executions

5

不勾選

5

3

2

2

Total Executions

4

勾選

12

3

2

2

Total Executions

4

不勾選

4

3

2

2

Total Executions

3

勾選

9

3

2

2

Total Executions

3

不勾選

3

3

2

2

Total Executions

2

勾選

6

3

2

2

Total Executions

2

不勾選

2

 分析數據,得出結論:

  • 當勾選Per User時:
  1. 線程數*循環次數>=線程數*吞吐量時,Total Executions模式的執行次數=線程數*吞吐量。
  2. 當線程數*循環次數<線程數*吞吐量時,Total Executions模式的執行次數=當線程數*循環次數。
  • 當不勾選Per User時:
  1. 線程數*循環次數<=吞吐量時,Total Executions模式的執行次數=線程數*循環次數。
  2. 當線程數*循環次數>吞吐量時,Total Executions模式的執行次數=吞吐量。


免責聲明!

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



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