Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Loop count and Ramp Up period in JMeter

Tags:

jmeter

I have created a set and just confused with the Loop Count and Ramp Up period. I have a test set with the following parameters.

Threads        =  30
Ramp Up Period =  30
Loop Count     =  100

As per the page on quora.

I suppose: enter image description here

a) If Loop count is Zero, then each of the 30 threads will be starting every second. As per the shared the web page, I guess 30/30 * 100 ie 100 threads/requests will be hitting the server every second. Please correct me if I am wrong.  

b) As per the above parameters, there will be a total of 30 * 100 threads/requests. Does this mean all the 3000 threads/requests will be sent within 30 seconds [ Ramp Up period ]
like image 627
Roshan r Avatar asked Feb 04 '23 11:02

Roshan r


2 Answers

Assuming you have 30 users and 30 seconds ramp-up

  1. JMeter will start each virtual user each second
  2. Each virtual user will start executing samplers upside down (or according to the logic controllers, if any) as fast as it can (if you don't use timers) so the delivered load can be either more or less than 30 requests/second, it depends on how fast JMeter is executing requests and on your application response time as JMeter will wait for response from previous sampler before starting new one
  3. When virtual user finishes executing all the samplers defined in test plan it will start over and do point 2 for 99 more iterations
  4. When virtual user won't have more samplers to execute and loops to iterate it will shut down

A couple of tips:

  • You can use Server Hits Per Second listener to see how many requests per second you are actually making given your test plan configuration
  • You can control the number of requests per second via Constant Throughput Timer
  • Consider upgrading to JMeter 3.2 as newer JMeter versions normally contain new features, performance improvements and bug fixes
like image 118
Dmitri T Avatar answered Feb 20 '23 00:02

Dmitri T


according to jmeter manual ramp up is:

How long JMeter should take to get all the threads started. If there are 10 threads and a ramp-up time of 100 seconds, then each thread will begin 10 seconds after the previous thread started, for a total time of 100 seconds to get the test fully up to speed.

So if your goal is to reach 3000 request within 30 seconds the above wont do, it might take more than that depending on how much it takes to finish the requests you are sending.

If you are looking for Throughput you can add an aggregate report listener which calculates the throughput for you and depending on the results you can configure your thread properties to reach your goal.

Reference : Jmeter user manual

like image 20
ararar Avatar answered Feb 20 '23 00:02

ararar