0
votes

I'm having a question about how the requests are processed, For example:

I have created a test plan, with one thread group.

Set number of users (thread): 10

Ramp-up period: 20

Loop count: Forever

Within this thread group I have created 5 HTTP requests.

When I hit start, I understand that it starts with 1 user, and by 20th second it will have all 10 users.

Does each sampler (http request) get assigned to 1 user? Is each sampler fired in sequential order? Does it fire parallel requests? I am trying to understand overall working.

2

2 Answers

1
votes

Each thread is sequential firing HTTP requests based on your flow

But you are executing 10 threads/users in parallel, so the order of the requests in total isn't sequential, but parallel

If you defined loop count as 1, then each sampler (http request) would get assigned to 1 user,

But you are looping endlessly, so samplers can be executed more than once per user/thread

About Loop Count: (asked in comment)

Loop Count - the number of iterations for each Thread.

1
votes
  1. JMeter starts threads (virtual users) within the bound of the ramp-up period. In your case JMeter starts with 1 user and adds another user each 2 seconds.
  2. When thread (virtual user) is started it starts executing Samplers upside down (or according to Logic Controllers)
  3. When there are no more samplers left to execute the thread starts over (if the number of loops is > 1), otherwise it is shut down.

With regards to concurrency, it mainly depends on the number of threads and application response time, you can observe how many virtual users were online using Active Threads Over Time listener and the delivered load using Server Hits Per Second. The aforementioned listeners can be installed using JMeter Plugins Manager

enter image description here