日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

常數(shù)吞吐量分布式使用示例

更新時(shí)間:

常數(shù)吞吐量定時(shí)器(Constant Throughput Timer)通常用于控制吞吐量,您可以根據(jù)壓測(cè)腳本的業(yè)務(wù)目的,來(lái)選擇不同的計(jì)算模式。若疊加上分布式施壓源,您需要考慮腳本中的配置值及配置模式,以便匹配不同的壓測(cè)目標(biāo)模型。本文將從應(yīng)用場(chǎng)景的角度介紹2種常見(jiàn)的使用模式,以及分布式適配不同計(jì)算模式的效果。

背景信息

通過(guò)以下示例您可以了解到不同的分布式適配方式。假設(shè)使用到2臺(tái)施壓IP,并發(fā)為100,腳本上僅1個(gè)線程組,其吞吐量目標(biāo)為每分鐘100,計(jì)算模式為當(dāng)前線程(this thread only)。

  • 全局生效即為腳本中設(shè)置值為集群整體閾值,施壓機(jī)會(huì)根據(jù)使用到的IP數(shù)來(lái)拆分到單機(jī)吞吐量目標(biāo)值上(即單施壓機(jī)閾值為腳本中值/IP數(shù)),此時(shí)場(chǎng)景的總目標(biāo)吞吐量為2×(100并發(fā)/2 )×(100/2)=5000(每分鐘)。

  • 單機(jī)生效即為腳本中設(shè)置值為單臺(tái)施壓機(jī)的目標(biāo)值,不會(huì)替換腳本內(nèi)容,需要注意并發(fā)量級(jí)與配置值是否匹配。該模式下,場(chǎng)景的總目標(biāo)吞吐量為2×(100并發(fā)/2 )×100=10000(每分鐘)。

常見(jiàn)應(yīng)用場(chǎng)景

通常配置吞吐量控制時(shí),您可以選擇Sampler維度或線程組維度(多線程組即全場(chǎng)景維度)即可,不推薦使用其他過(guò)于復(fù)雜的場(chǎng)景。以下示例中使用了2臺(tái)施壓機(jī)IP,線程組總并發(fā)100,目標(biāo)吞吐量每分鐘100。

場(chǎng)景一:Sampler吞吐量控制的實(shí)現(xiàn)

  1. 登錄PTS控制臺(tái),選擇性能測(cè)試 > 創(chuàng)建場(chǎng)景,然后單擊JMeter壓測(cè)

  2. 打開(kāi)高級(jí)設(shè)置,在常數(shù)吞吐量定時(shí)器中選擇單機(jī)生效

    說(shuō)明

    只有上傳的腳本中設(shè)置了定時(shí)器,場(chǎng)景配置中才會(huì)出現(xiàn)分布式適配設(shè)置的配置框。

    單機(jī)生效

  3. JMeter腳本中將該組件(Constant Throughput Timer)置于Sampler下面。

  4. 設(shè)置Target Throughput100,單位為分鐘。計(jì)算模式選擇this thread only,如下圖所示。image

場(chǎng)景二:線程組吞吐量控制的實(shí)現(xiàn)

  1. 登錄PTS控制臺(tái),選擇性能測(cè)試 > 創(chuàng)建場(chǎng)景,然后單擊JMeter壓測(cè)

  2. 打開(kāi)高級(jí)設(shè)置,在常數(shù)吞吐量定時(shí)器中選擇全局生效

    說(shuō)明

    只有上傳的腳本中設(shè)置了定時(shí)器,場(chǎng)景配置中才會(huì)出現(xiàn)分布式適配設(shè)置的配置框。

    全局生效

  3. JMeter腳本中將該組件(Constant Throughput Timer)置于Thread Group下面。

  4. 設(shè)置Target Throughput100,單位為分鐘。計(jì)算模式選擇All active threads in current thread group,如下圖所示。image

5種計(jì)算模式

示例:假設(shè)使用單臺(tái)施壓源,2個(gè)線程組,即分別含有2個(gè)Sampler,分別是100并發(fā)和200并發(fā),Target Throughput均是每分鐘100。

說(shuō)明

以下示例僅供參考,具體請(qǐng)以官方文檔為準(zhǔn),請(qǐng)參見(jiàn)JMeter官方文檔

基于的計(jì)算方式

說(shuō)明

其他信息

this thread only

每個(gè)線程單獨(dú)計(jì)算,那么總的吞吐量等于并發(fā)×Target Throughput。

非活躍的線程,沒(méi)有對(duì)應(yīng)的吞吐量,按照上述示例(每分鐘):

  • 線程組1:每個(gè)線程每分鐘發(fā)出請(qǐng)求100次,即Sampler1.1和Sampler1.2各自的吞吐量都是100線程×100次/60秒=83左右。

  • 線程組2:每個(gè)線程每分鐘發(fā)出請(qǐng)求100次,即Sampler2.1和Sampler2.2各自的吞吐量都是200線程×100次/60秒=160左右。

  • 配置到Sampler上即可控制到單個(gè)Sampler的吞吐量。

All active threads

將設(shè)置的吞吐量,分配到活躍的線程上(所有線程組的所有線程),然后這個(gè)線程在上次運(yùn)行自行結(jié)束之后,等待合理時(shí)間(為了控制吞吐量)再次運(yùn)行。

多線程組的時(shí)候,要求其他線程組也有一樣的配置按照上述示例:

  • 因?yàn)榫€程是一開(kāi)始就發(fā)出去,所以在執(zhí)行第二個(gè)Sampler的時(shí)候,吞吐量就會(huì)非常低。因?yàn)槭菑木€程組維度控制的,每個(gè)線程吞吐量分別是每分鐘為1和2,所以到第二個(gè)Sampler的時(shí)候,次數(shù)會(huì)減少。

  • 線程組的Throughput是每分鐘為100,全局的吞吐量是每分鐘為200。

  • 需要運(yùn)行一段時(shí)間之后(線程組內(nèi)多個(gè)Sampler發(fā)出去的請(qǐng)求數(shù)一致=并發(fā)數(shù)),每個(gè)線程組內(nèi)Sampler的吞吐量才會(huì)趨于均衡。

All active threads in current thread group

將設(shè)置的吞吐量,分配到活躍的線程上(當(dāng)前線程組的活躍線程),然后這個(gè)線程在上次運(yùn)行自行結(jié)束之后,等待合理時(shí)間(為了控制吞吐量)再次運(yùn)行。

單線程組的時(shí)候,與上一個(gè)相同。按照上述示例:

  • 因兩個(gè)Timer的配置一致,故和上述情況一致。

  • 當(dāng)把第二個(gè)Timer的吞吐量改為每分鐘為200時(shí),每個(gè)線程組可單獨(dú)控制。

All active threads(shared)

將設(shè)置的吞吐量,分配到活躍的線程上(所有線程組的所有線程),所有線程都會(huì)在所有活躍線程運(yùn)行結(jié)束之后即所有線程結(jié)束之后,等待合理時(shí)間(為了控制吞吐量)再次運(yùn)行。

類(lèi)似全場(chǎng)景的多次延遲釋放,因?yàn)樾枰却谢钴S線程運(yùn)行結(jié)束,按照上述示例分析如下:

  • 在壓測(cè)過(guò)程中,可以看到不會(huì)有多個(gè)Sampler的數(shù)據(jù)同時(shí)變化。

  • 已經(jīng)發(fā)起過(guò)請(qǐng)求的線程會(huì)被暫停在第一個(gè)Sampler上。

  • 全場(chǎng)景的Target Throughput是為每分鐘100,且多個(gè)Timer的配置保持一致。

All active threads in current thread group(shared)

將設(shè)置的吞吐量,分配到活躍的線程上(當(dāng)前線程組的活躍線程),所有線程都會(huì)在所有活躍線程運(yùn)行結(jié)束之后即所有活躍線程結(jié)束之后,等待合理時(shí)間(為了控制吞吐量)再次運(yùn)行。

當(dāng)前線程組中,活躍線程組中線程結(jié)束之后,再等待一點(diǎn)時(shí)間運(yùn)行。

  • 線程組的Target Throughput為每分鐘100,但每個(gè)線程會(huì)考慮全局其他活躍線程。

  • 線程組的吞吐量可以單獨(dú)配置和控制。

其他計(jì)算模式的分布式適配情況

基于的計(jì)算方式

應(yīng)用場(chǎng)景

全局生效

單機(jī)生效

All active threads

全場(chǎng)景吞吐量控制驅(qū)動(dòng):多個(gè)線程組的業(yè)務(wù)模型類(lèi)似,且全場(chǎng)景的吞吐量固定,即可拆分到單個(gè)線程組的均勻吞吐量。

單機(jī)并發(fā)線程是50,Target/2替換為腳本中的值,即單機(jī)上的吞吐量變成腳本中的一半為每分鐘50。全局的吞吐量不變化仍然為每分鐘100。當(dāng)有多個(gè)線程組的時(shí)候,還會(huì)多個(gè)線程組累加。

單機(jī)并發(fā)線程是50,單機(jī)上的吞吐量為每分鐘100,全局吞吐量變?yōu)槟_本中的值×IP數(shù),即為每分鐘200。當(dāng)有多個(gè)線程組的時(shí)候,還會(huì)多個(gè)線程組累加。

All active threads(shared)

全場(chǎng)景吞吐量不區(qū)分線程組,略低于多線程組配置值疊加。

線程組1配置是100,線程組2配置是200,則全局為150,即兩個(gè)線程組的均值。

線程組1配置是100,線程組2配置是200,則單機(jī)為(100+200)/2,全局為300,但是單機(jī)多個(gè)Sampler達(dá)到均衡的時(shí)間更長(zhǎng)。

All active threads in current thread group(shared)

線程組的吞吐量考慮全局活躍,略低于多線程組配置值疊加。

線程組1配置是100,線程組2配置是200,則全局為300,是線程組1和2的配置數(shù)累計(jì)之和。

線程組1配置是100,線程組2配置是200,則單機(jī)為100+200,全局為600,但是單機(jī)多個(gè)Sampler達(dá)到均衡的時(shí)間更短。