Throughput Contoller,直譯是吞吐量控制器,它是用來控制該控制器下面元件的執行次數,與控制吞吐量的功能無關。(注:用Constant Throughput Timer能夠控制吞吐量。)測試
Throughput Contoller有兩種模式:Total Executions 和Percent Executions。spa
參數說明以下:線程
那麼如何計算Throughput Controller其下的執行次數?blog
下面添加循環控制器,在Throughput Controller下添加Debug Sampler元件來作實驗:ci
實驗一:測試按Percent Executions模式執行次數io
TestCase1:線程數3,線程循環次數2,循環控制器循環次數2,吞吐量值50%,勾選Per Usertable
測試結果:查看「聚合報告」裏Debug Sampler執行次數,Debug Sampler=6,即執行了6次,如圖:循環
TestCase2:線程數3,線程循環次數2,循環控制器循環次數2,吞吐量值50%,不勾選Per Userbug
測試結果,查看「聚合報告」裏Debug Sampler執行次數,Debug Sampler=6,即執行了6次,如圖:im
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 |
分析數據,得出結論: