You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@jmeter.apache.org by Krister Nilsson <kr...@pensionsmyndigheten.se> on 2020/11/18 14:38:03 UTC
Problem with Constant Throughput Timer behavior
Hello! I sent the below question to this group about three weeks ago, but I have not received any reply. I give it another try...
Hello!
I have a test plan schematically looking as below. Since I have two Bean Shell Samplers which
I do not want to be affected by the Constant Throughput Timer, I have put the CTT as children
to all the HTTP requests. It has the desired effect as far as not affecting the Bean Shell
Samplers.
However, I am surprised as the CTT does not add a delay for all HTTP requests, only for the
HTTP request which is used most frequently (i.e. having the highest percentage set in Throughput
Controller). Let's call that request "HTTP request 1". Any other HTTP request gets no delay,
no matter if it is executed in the same loop as "HTTP request 1" or by itself in a loop or
together with some other HTTP request (than #1) in the same loop.
The same property and tpm is used for all CTTs.
Someone who can straighten this out for me?
Thread group
|__ Once only controller
|__ Bean shell sampler
|__ Switch controller (A or B)
|__ Simple controller A
|__ Throughput controller 1
|__ CSV Data set config 1
Bean shell sampler X
Bean shell sampler Y
HTTP request 1
|__ Constant throughput timer (${__property(tpm)})
|__ Throughput controller 2
|__ CSV Data set config 2
HTTP request 2
|__ Constant throughput timer (${__property(tpm)})
|__ Throughput controller 3
|__ CSV Data set config 3
HTTP request 3
|__ Constant throughput timer (${__property(tpm)})
|__ Throughput controller 4
|__ CSV Data set config 4
HTTP request 4
|__ Constant throughput timer (${__property(tpm)})
|__ Simple controller B
Med vänlig hälsning
Krister Nilsson
____________________________________________________________
Krister Nilsson / översteprest, prestandatest
IT Fond konto och teknisk plattform
Telefon direkt 010-454 21 97, mobil 072-210 21 97
krister.nilsson@pensionsmyndigheten.se<ma...@pensionsmyndigheten.se>
Pensionsmyndigheten,
Telefon vxl 0771-771 771, fax 08-658 13 00, www.pensionsmyndigheten.se<http://www.pensionsmyndigheten.se/>
P Överväg miljöpåverkan innan du skriver ut detta e-brev.
Re: SV: Problem with Constant Throughput Timer behavior
Posted by Felix Schumacher <fe...@internetallee.de>.
Am 19. November 2020 10:54:42 MEZ schrieb Krister Nilsson <kr...@pensionsmyndigheten.se>:
>Hi Felix!
>
>
>
>There is a difference between your test plan and mine. If it is
>significant, I dare not say.
>
>
>
>I have the Constant Throughput Timer as a child to an HTTP request,
>while you have it as a child to the JSR233 Sampler. The Beanshell
>Sampler I am using is on the same level as the HTTP request, i.e. they
>have the same parent. The CCT is NOT a child to the Beanshell Sampler
>though. As I said, I don't know if that difference makes any actual
>difference, but different it is... ??
I don't think, that it makes a difference. I left out the beanshell sampler, as they are not affected by the cct. The usage of the jsr223 sampler instead of an http sampler was on purpose, as it doesn't need a server to talk to. There should be no difference in behavior.
The real question is, does it perform the same way, as you expect?
Felix
>
>
>
>Cheers!
>
>/Krister
>
>
>
>-----Ursprungligt meddelande-----
>Från: Felix Schumacher <fe...@internetallee.de>
>Skickat: den 18 november 2020 17:52
>Till: user@jmeter.apache.org
>Ämne: Re: Problem with Constant Throughput Timer behavior
>
>
>
>Hi Krister,
>
>
>
>is the attached version of a test plan like the one, you are using? Has
>it the same problems you see?
>
>
>
>If so, than I think it is because of the way the throughput controller
>is working. It tries to limit the sampling to the amount that you
>configured. As the samples below are already limited to ${tpm}, they
>will not get a further delay and can execute right away.
>
>
>
>Felix
>
>
>
>Am 18.11.20 um 15:38 schrieb Krister Nilsson:
>
>> Hello! I sent the below question to this group about three weeks ago,
>but I have not received any reply. I give it another try...
>
>>
>
>> Hello!
>
>>
>
>> I have a test plan schematically looking as below. Since I have two
>
>> Bean Shell Samplers which I do not want to be affected by the
>Constant
>
>> Throughput Timer, I have put the CTT as children to all the HTTP
>
>> requests. It has the desired effect as far as not affecting the Bean
>Shell Samplers.
>
>>
>
>> However, I am surprised as the CTT does not add a delay for all HTTP
>
>> requests, only for the HTTP request which is used most frequently
>
>> (i.e. having the highest percentage set in Throughput Controller).
>
>> Let's call that request "HTTP request 1". Any other HTTP request gets
>
>> no delay, no matter if it is executed in the same loop as "HTTP
>request 1" or by itself in a loop or together with some other HTTP
>request (than #1) in the same loop.
>
>> The same property and tpm is used for all CTTs.
>
>> Someone who can straighten this out for me?
>
>>
>
>> Thread group
>
>> |__ Once only controller
>
>> |__ Bean shell sampler
>
>> |__ Switch controller (A or B)
>
>> |__ Simple controller A
>
>> |__ Throughput controller 1
>
>> |__ CSV Data set config 1
>
>> Bean shell sampler X
>
>> Bean shell sampler Y
>
>> HTTP request 1
>
>> |__ Constant throughput timer
>(${__property(tpm)})
>
>> |__ Throughput controller 2
>
>> |__ CSV Data set config 2
>
>> HTTP request 2
>
>> |__ Constant throughput timer
>(${__property(tpm)})
>
>> |__ Throughput controller 3
>
>> |__ CSV Data set config 3
>
>> HTTP request 3
>
>> |__ Constant throughput timer
>(${__property(tpm)})
>
>> |__ Throughput controller 4
>
>> |__ CSV Data set config 4
>
>> HTTP request 4
>
>> |__ Constant throughput timer
>(${__property(tpm)})
>
>> |__ Simple controller B
>
>>
>
>> Med vänlig hälsning
>
>> Krister Nilsson
>
>> ____________________________________________________________
>
>>
>
>> Krister Nilsson / översteprest, prestandatest
>
>>
>
>> IT Fond konto och teknisk plattform
>
>> Telefon direkt 010-454 21 97, mobil 072-210 21 97
>
>>
>krister.nilsson@pensionsmyndigheten.se<ma...@pensions>
>
>> myndigheten.se>
>
>>
>
>> Pensionsmyndigheten,
>
>> Telefon vxl 0771-771 771, fax 08-658 13 00,
>
>>
>www.pensionsmyndigheten.se<http://www.pensionsmyndigheten.se/<http://www.pensionsmyndigheten.se%3chttp:/www.pensionsmyndigheten.se/>>
>
>>
>
>>
>
>> P Överväg miljöpåverkan innan du skriver ut detta e-brev.
>
>>
>
>>
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@jmeter.apache.org
For additional commands, e-mail: user-help@jmeter.apache.org
SV: Problem with Constant Throughput Timer behavior
Posted by Krister Nilsson <kr...@pensionsmyndigheten.se>.
Hi Felix!
There is a difference between your test plan and mine. If it is significant, I dare not say.
I have the Constant Throughput Timer as a child to an HTTP request, while you have it as a child to the JSR233 Sampler. The Beanshell Sampler I am using is on the same level as the HTTP request, i.e. they have the same parent. The CCT is NOT a child to the Beanshell Sampler though. As I said, I don't know if that difference makes any actual difference, but different it is... ??
Cheers!
/Krister
-----Ursprungligt meddelande-----
Från: Felix Schumacher <fe...@internetallee.de>
Skickat: den 18 november 2020 17:52
Till: user@jmeter.apache.org
Ämne: Re: Problem with Constant Throughput Timer behavior
Hi Krister,
is the attached version of a test plan like the one, you are using? Has it the same problems you see?
If so, than I think it is because of the way the throughput controller is working. It tries to limit the sampling to the amount that you configured. As the samples below are already limited to ${tpm}, they will not get a further delay and can execute right away.
Felix
Am 18.11.20 um 15:38 schrieb Krister Nilsson:
> Hello! I sent the below question to this group about three weeks ago, but I have not received any reply. I give it another try...
>
> Hello!
>
> I have a test plan schematically looking as below. Since I have two
> Bean Shell Samplers which I do not want to be affected by the Constant
> Throughput Timer, I have put the CTT as children to all the HTTP
> requests. It has the desired effect as far as not affecting the Bean Shell Samplers.
>
> However, I am surprised as the CTT does not add a delay for all HTTP
> requests, only for the HTTP request which is used most frequently
> (i.e. having the highest percentage set in Throughput Controller).
> Let's call that request "HTTP request 1". Any other HTTP request gets
> no delay, no matter if it is executed in the same loop as "HTTP request 1" or by itself in a loop or together with some other HTTP request (than #1) in the same loop.
> The same property and tpm is used for all CTTs.
> Someone who can straighten this out for me?
>
> Thread group
> |__ Once only controller
> |__ Bean shell sampler
> |__ Switch controller (A or B)
> |__ Simple controller A
> |__ Throughput controller 1
> |__ CSV Data set config 1
> Bean shell sampler X
> Bean shell sampler Y
> HTTP request 1
> |__ Constant throughput timer (${__property(tpm)})
> |__ Throughput controller 2
> |__ CSV Data set config 2
> HTTP request 2
> |__ Constant throughput timer (${__property(tpm)})
> |__ Throughput controller 3
> |__ CSV Data set config 3
> HTTP request 3
> |__ Constant throughput timer (${__property(tpm)})
> |__ Throughput controller 4
> |__ CSV Data set config 4
> HTTP request 4
> |__ Constant throughput timer (${__property(tpm)})
> |__ Simple controller B
>
> Med vänlig hälsning
> Krister Nilsson
> ____________________________________________________________
>
> Krister Nilsson / översteprest, prestandatest
>
> IT Fond konto och teknisk plattform
> Telefon direkt 010-454 21 97, mobil 072-210 21 97
> krister.nilsson@pensionsmyndigheten.se<ma...@pensions>
> myndigheten.se>
>
> Pensionsmyndigheten,
> Telefon vxl 0771-771 771, fax 08-658 13 00,
> www.pensionsmyndigheten.se<http://www.pensionsmyndigheten.se/<http://www.pensionsmyndigheten.se%3chttp:/www.pensionsmyndigheten.se/>>
>
>
> P Överväg miljöpåverkan innan du skriver ut detta e-brev.
>
>
Re: Problem with Constant Throughput Timer behavior
Posted by Felix Schumacher <fe...@internetallee.de>.
Hi Krister,
is the attached version of a test plan like the one, you are using? Has
it the same problems you see?
If so, than I think it is because of the way the throughput controller
is working. It tries to limit the sampling to the amount that you
configured. As the samples below are already limited to ${tpm}, they
will not get a further delay and can execute right away.
Felix
Am 18.11.20 um 15:38 schrieb Krister Nilsson:
> Hello! I sent the below question to this group about three weeks ago, but I have not received any reply. I give it another try...
>
> Hello!
>
> I have a test plan schematically looking as below. Since I have two Bean Shell Samplers which
> I do not want to be affected by the Constant Throughput Timer, I have put the CTT as children
> to all the HTTP requests. It has the desired effect as far as not affecting the Bean Shell
> Samplers.
>
> However, I am surprised as the CTT does not add a delay for all HTTP requests, only for the
> HTTP request which is used most frequently (i.e. having the highest percentage set in Throughput
> Controller). Let's call that request "HTTP request 1". Any other HTTP request gets no delay,
> no matter if it is executed in the same loop as "HTTP request 1" or by itself in a loop or
> together with some other HTTP request (than #1) in the same loop.
> The same property and tpm is used for all CTTs.
> Someone who can straighten this out for me?
>
> Thread group
> |__ Once only controller
> |__ Bean shell sampler
> |__ Switch controller (A or B)
> |__ Simple controller A
> |__ Throughput controller 1
> |__ CSV Data set config 1
> Bean shell sampler X
> Bean shell sampler Y
> HTTP request 1
> |__ Constant throughput timer (${__property(tpm)})
> |__ Throughput controller 2
> |__ CSV Data set config 2
> HTTP request 2
> |__ Constant throughput timer (${__property(tpm)})
> |__ Throughput controller 3
> |__ CSV Data set config 3
> HTTP request 3
> |__ Constant throughput timer (${__property(tpm)})
> |__ Throughput controller 4
> |__ CSV Data set config 4
> HTTP request 4
> |__ Constant throughput timer (${__property(tpm)})
> |__ Simple controller B
>
> Med vänlig hälsning
> Krister Nilsson
> ____________________________________________________________
>
> Krister Nilsson / översteprest, prestandatest
>
> IT Fond konto och teknisk plattform
> Telefon direkt 010-454 21 97, mobil 072-210 21 97
> krister.nilsson@pensionsmyndigheten.se<ma...@pensionsmyndigheten.se>
>
> Pensionsmyndigheten,
> Telefon vxl 0771-771 771, fax 08-658 13 00, www.pensionsmyndigheten.se<http://www.pensionsmyndigheten.se/>
>
>
> P Överväg miljöpåverkan innan du skriver ut detta e-brev.
>
>