Users request execution ordering

Hi folks,
got the following situation here:

I generate some dynamic data with my utility class and use the result as session variable which I set in the request block.

for example:

_.set(“dynamicData”, generateDynamicData())
.exec(amqp(“Test”)) etc…

My requests should maintain strict ordering and pass a package id and previous package id inside.

if I start with some amount for concurrent users (let’s say 50)
my dynamicData is generated in certain order but sometimes it looks like the requests can be sent not in the order the dynamicData has been generated, so it can be started with user 4 sending message instead of user 1 which gonna break strict ordering.

Is there a way to ensure when I add multiple users at once they execute requests in the order dynamicData has been generated?

Currently I’m avoiding starting with 50 users and start with one and gradually increment them but in the future I might need that.

Thank you.

.exec(amqp(“Test”))

It seems that you’re using a third party plugin. If so, then sorry, but we can’t help with it here. You’ll have to reach with the authors of this plugin directly, probably on their GitHub bug tracker.

Hi. Yes it is true.
I’ll check if that is the case for http requests.

I assume it shouldn’t be?

I think that you can’t expect any order as soon as you have multiple users executing concurrently, whatever the protocol you’re using. For lots of different reasons, including how the CPU decides to execute tasks on the different cores, requests might not be executed in the same order as data was pulled from a feeder.

I see.
Once i changed 5 step instant ramp by 50 users up to 250
With 5 step incremental ramp starting from 1 user up to 250 didn’t fail yet.
So far so good.

I wonder if it is worth trying setting some global orderId variable and use doIf matching with the session one and execute request if the values matched

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.