Long Sleep() is it right thing when doing concurrent tests with flow

Hello all!

Theoretical question here.

So my idea was to have same amount users do each call concurrently:

  • 10 users to do 1st call, sleep 10 seconds
  • 10 users to do 2nd call sleep 10 seconds
  • 10 users to do 3rd call and sleep 10 seconds

long sleeps to make sure they all start calling next api at same time.

Does this make sense when performance testing the flow of actions that real user might ? :slight_smile:

And is it better to perform such test within the time frame in example 10 minutes.
OR
Is it better to perform such test with how much requests we want to do in example 1000

Hi @sillymoomoo

Without more context, it is difficult to say what’s best. Some questions that can help you start figuring it out (even if this is a theoretical question):

Once you clearly define what kind of test you need to run, this usually helps you determine the best approach (executor). For example:

  • You want to simulate 10 concurrent users on your website, running 3 API calls. Then maybe an interaction that has the 3 calls, one after the other (with sleep if you want to simulate how much time a user takes while browsing):
    • Per VU iterations - each VU executes an exact number of iterations
    • Constant VUs - a fixed number of virtual users execute as many iterations as possible for a specified time.
  • You want to simulate a number of requests per second (or time unit), more than a fixed number of users (usually the case when load testing APIs).

I hope this helps.

Cheers!