常見邏輯控制器操作大全

今天給大家?guī)砹顺S玫?tips 常見邏輯控制器的操作
jmeter 中的邏輯控制器確定采樣器的執(zhí)行順序。右鍵線程組--> 添加--> 邏輯控制器。

01簡單控制器
簡單控制器對 JMeter 如何處理添加到其中的采樣器沒有影響。只是方便我們做分組命名。

示例:
在以下計(jì)劃中,向第一個(gè)簡單控制器添加兩個(gè)請求:"加載商品搜索頁面"和“搜索商品 A”,并將控制器命名“挑選商品”;向第二個(gè)簡單控制器添加另兩個(gè)請求:"加入購物車"和“支付”,并將控制器命名“支付操作”。運(yùn)行結(jié)果可以看到,簡單控制器不會(huì)對添加到其中的采樣器產(chǎn)生影響。

02循環(huán)控制器
如果將采樣器或邏輯控制器添加到循環(huán)控制器,除了為線程組指定的循環(huán)值之外,JMeter 還將循環(huán)它們一定次數(shù)。
例如,如果將一個(gè) HTTP 請求添加到循環(huán)計(jì)數(shù)為 2 的循環(huán)控制器,并將線程組循環(huán)次數(shù)設(shè)為 3,則 JMeter 將發(fā)送總共 2 * 3 = 6 個(gè) HTTP 請求。

示例:
向線程組添加了一個(gè)登錄請求,并設(shè)置線程組循環(huán)次數(shù)為 1。并向循環(huán)控制器添加了另一個(gè)充值請求。我們將循環(huán)控制器配置為循環(huán)次數(shù)為 5。

Jmeter 按以下順序發(fā)送請求:登錄、充值、充值、充值、充值和充值
僅一次控制器將始終在任何循環(huán)父控制器的第一次迭代期間執(zhí)行?。
2. 如果置于一個(gè)線程組,無論線程組設(shè)置多少循環(huán)次數(shù),只在第一次迭代期間執(zhí)行,即只執(zhí)行一次。

示例:
1. 線程組中循環(huán)次數(shù)設(shè)置為1,僅一次控制器放置在循環(huán)控制器下,向僅一次控制器添加一個(gè)登錄請求;向循環(huán)控制器添加另一個(gè)充值請求,循環(huán)次數(shù)設(shè)置為 5
meter 按以下順序發(fā)送請求:登錄、充值、充值、充值、充值和充值
2. 僅一次控制器置于線程組下,向僅一次控制器添加一個(gè)登錄請求,向線程組添加另一個(gè)充值請求,設(shè)置線程組循環(huán)次數(shù)為 5

04.交替控制器

如果將采樣器或邏輯控制器添加到交替控制器,則 JMeter 將在每個(gè)其下的控制器之間交替進(jìn)行每次循環(huán)迭代。
忽略子控制器塊及跨線程交替默認(rèn)不選中,若選中,參見以下說明:

示例:
交替控制器置于線程組下,向線程組添加一個(gè)”加載商品搜索頁面“請求,線程組循環(huán)次數(shù)設(shè)為 4;向交替控制器添加兩個(gè)請求:“搜索 A 商品”、“搜索 B 商品”

05隨機(jī)控制器
隨機(jī)控制器的作用類似于交替控制器,不同在于它不是通過其子控制器和采樣器按順序排列,而是在隨機(jī)選取一個(gè)。

示例:
隨機(jī)控制器置于線程組下,向線程組添加一個(gè)”加載商品搜索頁面“請求,線程組循環(huán)次數(shù)設(shè)為 4;向隨機(jī)控制器添加兩個(gè)請求:“搜索 A 商品”、“搜索 B 商品”

運(yùn)行之后,可以看到跟交替控制器的區(qū)別,每次通過該隨機(jī)控制器下請求時(shí)隨機(jī)取。
05隨機(jī)順序控制器
隨機(jī)順序控制器類似簡單控制器,區(qū)別在于該控制器下的節(jié)點(diǎn)請求執(zhí)行順序是隨機(jī)的。

示例:
向隨機(jī)順序控制器中添加以下 4 個(gè) HTTP 請求,運(yùn)行后,可以看到該控制器下的 4 個(gè) HTTP 請求順序是隨機(jī)的。

07吞吐量控制器
吞吐量控制器作用:控制用戶執(zhí)行的頻率。

有兩種模式:
總執(zhí)行次數(shù)(Total Executions):?設(shè)置運(yùn)行次數(shù)
執(zhí)行百分比(Percent Executions):?設(shè)置運(yùn)行比例(1~100 之間)
該控制器的其他元素說明,見下:

示例:

吞吐量控制器 1 下選擇 Total Executions,吞吐量設(shè)為 2;該控制器下的節(jié)點(diǎn)執(zhí)行次數(shù)為 2

吞吐量控制器 2 下選擇 Percent Executions,吞吐量設(shè)為 60;該控制器下的節(jié)點(diǎn)執(zhí)行次數(shù) =60%*線程組循環(huán)次數(shù) 5=3 次

運(yùn)行結(jié)果:

07?Runtime Controller
控制其子節(jié)點(diǎn)運(yùn)行多長時(shí)間??刂破鲗⑦\(yùn)行其子項(xiàng),直到超出配置的運(yùn)行時(shí)間。runtime 為 0 時(shí)表示沒有運(yùn)行。

示例:
Runtime Controller 置于線程組下,線程組循環(huán)次數(shù)默認(rèn) 1,Runtime Controller 的 runtime 設(shè)為 3s

只運(yùn)行了 3s 停止了。

“停下休息的時(shí)候,不要忘記別人還在奔跑”