You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@jmeter.apache.org by SMITH Lindi <Li...@aldautomotive.com.INVALID> on 2021/11/10 16:26:38 UTC

Question about multiple instances of a thread group with a critical section controller

Hello

I wonder if anyone could help me with a load test I’m trying to set up at the moment.

The test I’m writing has 3 HTTP calls which have to be made before a 4th HTTP call can be made (the 4th call is dependent on the previous 3 calls having been run and needs their responses in order to bring back a successful response.)

So after looking online, I have put my calls under a ‘Critical section controller’ , which is working fine and the 4th call is now passing and getting a successful response.

My issue is that as soon as I try to run this test with more than 1 thread group (user) , it is essentially behaving as a series of sequential calls, where calls 1-4 of the first thread group (user count) will run before the next calls 1-4 of the following user count will run. Obviously this is not very indicative of how things might go in production, as there might be say 2 or 3 users at any given time doing the actions at the same time, but where their individual subset of actions are being called in a critical order.

Is there anything I can use on my test plan to fire off say 2 or 3 of the same thread groups at the same time, but within the thread group I have my critical section controller with the HTTP requests underneath it to ensure the calls are being made in a concurrent order?

I saw there is something called ‘synchronizing timers’ but when I looked this up, it didn’t seem it could be used in conjunction with the ‘critical section controller’.

Any ideas would be greatly appreciated

Many thanks
Lindi

[cid:image96b92b.JPG@55f92081.4d820a22]

Lindi SMITH
Application Developer

T  | M
Lindi.Smith@aldautomotive.com<ma...@aldautomotive.com>

www.aldautomotive.com

Oakwood Drive, Emersons Green
Bristol, BS16 7LB
United Kingdom

As a result of the measures announced by the Government we have implemented a remote working operating model. We would like to reassure all our customers that during this time we will do everything we can to maintain service levels and minimise disruption. Thank you in advance for your patience and understanding.

 Follow us on @ALDAutomotiveUK  <https://twitter.com/aldautomotiveuk?lang=en> <https://twitter.com/ALDAutomotiveUK> [cid:imagecb6003.PNG@dcc6426d.468e744d] <https://twitter.com/aldautomotiveuk?lang=en>  [cid:imageb7a47c.PNG@b37dcc75.409ddd32] <https://www.linkedin.com/company/ald-automotive-uk>  <https://www.linkedin.com/company/ald-automotive-uk> <https://www.linkedin.com/company/ald-automotive> <https://www.linkedin.com/company/ald-automotive-uk>

[cid:image3b3bff.JPG@22284236.4ca4a6fa]

We may monitor or record any communication between you and ALD Automotive for quality control and training purposes. This message and any attachments are confidential and intended solely for the addressees. Any unauthorized use or dissemination is prohibited. If you have received this communication in error, please notify the sender either via e-mail, or by telephoning 0117 908 2000 and immediately delete this message and all attachments, plus any copies. E-mails are susceptible to alteration. Neither ALD Automotive nor any of its subsidiaries or affiliates shall be liable for the message if altered, changed or falsified. Although ALD Automotive has taken all reasonable steps to ensure that this communication and any attachments are free from computer viruses, you are advised to take your own steps to ensure that they are actually virus free. ALD Automotive Ltd is registered in England and Wales with registration number 987418 England. Registered office is Oakwood Drive, Emersons Green, Bristol, BS16 7LB. VAT number 629 2807 22. ALD Automotive Ltd is authorised and regulated by the Financial Conduct Authority (FRN 308101).


Re: Question about multiple instances of a thread group with a critical section controller

Posted by Dmitri T <gl...@live.com>.
By default each JMeter thread (virtual user) executes samplers *upside 
down* (unless you use Logic Controllers 
<https://jmeter.apache.org/usermanual/component_reference.html#logic_controllers> 
to amend this behaviour)

It means that if you have 4 HTTP Calls like:

  * HTTP Call 1
  * HTTP Call 2
  * HTTP Call 3
  * HTTP Call 4

JMeter will run them sequentially, there is no need to use either 
Critical Section Controller or Synchronizing Timer or whatever.

Just remember about JMeter Scoping Rules 
<https://www.blazemeter.com/blog/jmeter-scoping-rules-the-ultimate-guide/> 
and JMeter Variables 
<https://jmeter.apache.org/usermanual/functions.html>specifics, i.e. if 
you have a Post-Processor extracting something applied to all Samplers - 
only last value will be written to the variable. And if you use the same 
variable name in 2 separate Post-Processors - the latter one will 
overwrite the previous value.



On 11/10/2021 5:26 PM, SMITH Lindi wrote:
>
> Hello
>
> I wonder if anyone could help me with a load test I’m trying to set up 
> at the moment.
>
> The test I’m writing has 3 HTTP calls which have to be made before a 
> 4^th HTTP call can be made (the 4^th call is dependent on the previous 
> 3 calls having been run and needs their responses in order to bring 
> back a successful response.)
>
> So after looking online, I have put my calls under a ‘Critical section 
> controller’ , which is working fine and the 4^th call is now passing 
> and getting a successful response.
>
> My issue is that as soon as I try to run this test with more than 1 
> thread group (user) , it is essentially behaving as a series of 
> sequential calls, where calls 1-4 of the first thread group (user 
> count) will run before the next calls 1-4 of the following user count 
> will run. Obviously this is not very indicative of how things might go 
> in production, as there might be say 2 or 3 users at any given time 
> doing the actions at the same time, but where their individual subset 
> of actions are being called in a critical order.
>
> Is there anything I can use on my test plan to fire off say 2 or 3 of 
> the same thread groups at the same time, but within the thread group I 
> have my critical section controller with the HTTP requests underneath 
> it to ensure the calls are being made in a concurrent order?
>
> I saw there is something called ‘synchronizing timers’ but when I 
> looked this up, it didn’t seem it could be used in conjunction with 
> the ‘critical section controller’.
>
> Any ideas would be greatly appreciated
>
> Many thanks
>
> Lindi
>
>
> *Lindi**SMITH*
> Application Developer
> *
> T*| *M *
> *_Lindi.Smith@aldautomotive.com <ma...@aldautomotive.com>
> _*
> www.aldautomotive.com
>
> Oakwood Drive, Emersons Green
> Bristol, BS16 7LB
> United Kingdom
>
> As a result of the measures announced by the Government we have 
> implemented a remote working operating model. We would like to 
> reassure all our customers that during this time we will do everything 
> we can to maintain service levels and minimise disruption.**Thank you 
> in advance for your patience and understanding.
>
> Follow us 
> on @ALDAutomotiveUK<https://twitter.com/aldautomotiveuk?lang=en><https://twitter.com/ALDAutomotiveUK><https://twitter.com/aldautomotiveuk?lang=en> 
> <https://www.linkedin.com/company/ald-automotive-uk><https://www.linkedin.com/company/ald-automotive-uk><https://www.linkedin.com/company/ald-automotive><https://www.linkedin.com/company/ald-automotive-uk>
> *
>
> *
>
> We may monitor or record any communication between you and ALD 
> Automotive for quality control and training purposes. This message and 
> any attachments are confidential and intended solely for the 
> addressees. Any unauthorized use or dissemination is prohibited. If 
> you have received this communication in error, please notify the 
> sender either via e-mail, or by telephoning 0117 908 2000 and 
> immediately delete this message and all attachments, plus any copies. 
> E-mails are susceptible to alteration. Neither ALD Automotive nor any 
> of its subsidiaries or affiliates shall be liable for the message if 
> altered, changed or falsified. Although ALD Automotive has taken all 
> reasonable steps to ensure that this communication and any attachments 
> are free from computer viruses, you are advised to take your own steps 
> to ensure that they are actually virus free. ALD Automotive Ltd is 
> registered in England and Wales with registration number 987418 
> England. Registered office is Oakwood Drive, Emersons Green, Bristol, 
> BS16 7LB. VAT number 629 2807 22. ALD Automotive Ltd is authorised and 
> regulated by the Financial Conduct Authority (FRN 308101).
>
>