JMeter understanding ramp-up
Solution 1
The ramp-up in the Thread Group is the time JMeter should take to start the total number of threads. In your situation this means that every 0.1 second a new thread starts giving 100 running threads after 10 seconds. These 100 threads perform your test iterations back-to-back, so after the ramp-up 100 threads run continously for the duration of the test.
Solution 2
Ramp-up Period - The time frame (in seconds) for all requests to start. All the threads specified in the Number of Threads
input will start within Ramp-up period
.
For instance:
100 threads and 100 seconds ramp-up: each second JMeter will start 1 Thread until all threads are started by the time the 100 seconds are up.
100 threads and 50 seconds ramp-up: each second 2 Threads are started.
100 threads and 200 seconds ramp-up: every 2 seconds, 1 Thread is started.
Now,
The sample or request generation is a different concept than Thread generation.In you case, 100 threads were up within 10 seconds.The key factor here is the Throughput. As per JMeter glossary:
Throughput is calculated as requests/unit of time. The time is calculated from the start of the first sample to the end of the last sample. This includes any intervals between samples, as it is supposed to represent the load on the server.
The formula is: Throughput = (number of requests) / (total time).
Here the Number of Executed Samples or Requests are 1050975
and the Test duration is 50820
seconds. So this is related to Throughput.The output 1050975
requests in 50820s
mean the Average Throughput throughout your test was approximate 20.5/s
.
To take control over Throughput
or Transactions per second
there are very handy JMeter plugins called Constant Throughput Timer.
Constant Throughput Timer introduces variable pauses, calculated to keep the total throughput (in terms of samples per minute) as close as possible to a given figure. Of course, the throughput will be lower if the server is not capable of handling it, or if other timers or time-consuming test elements prevent it.
Solution 3
The ramp-up period tells JMeter how long to take to “ramp-up” to the full number of threads.
@Little Chicken Understanding 1 is correct.
If 10 threads are used, and the ramp-up period is 10 seconds, then JMeter will take 10 seconds to get all 10 threads up and running.
Each thread will start 1 second after the previous thread was begun.
Solution 4
For Example
- 1000 target threads with 1000 seconds ramp-up: JMeter will add one user each second
- 1000 target threads with 100 seconds ramp-up: JMeter will add 10 users each second
- 1000 target threads with 50 seconds ramp-up: JMeter will add 20 users each second
Solution 5
The ramp-up period tells JMeter how long to take to "ramp-up" to the full number of threads chosen. If 10 threads are used, and the ramp-up period is 100 seconds, then JMeter will take 100 seconds to get all 10 threads up and running. Each thread will start 10 (100/10) seconds after the previous thread was begun. If there are 30 threads and a ramp-up period of 120 seconds, then each successive thread will be delayed by 4 seconds.
Comments
-
Frank Smith over 2 years
This is the configuration of my test plan thread properties:
Number of Threads (users): 100 Ramp-up Period (in seconds): 10 Loop Count : Forever Delay thread creation until needed: No Scheduler: No
I ran the test overnight with the total duration of 14 hours and 7 minutes (approximately 50820 seconds). After loading the jtl file, The number of samples shown in summary report is 1050975. I tried to compute but I can't understand how it came up with that many sample.
If Ramp-up Period is the time taken by JMeter to create the number of threads per iteration and if the duration of the test is 50820 seconds, then I should have 508200 samples only ( 50820/10 * 100 ). I do not know how or if Loop Count affects this.
-
Nilesh over 8 yearsWhy do we need ramp up? cant we start all at once? I mean what is the reason people choose to have some time to ramp up?
-
Jon Burgess over 8 yearsUseful for testing auto-scaling - e.g. for most websites, it's unlikely that you're going to go from 0 to 100 concurrent users instantly. It's more likely that concurrent users will gradually increase (and thereby give the auto-scaling system time to respond). Ramp-up enables this scenario to be tested.
-
Dev G over 5 yearsThank you for details. what is best value to take for Ramp Up time field in case you want to run forever loop and want to maintain 5 sec ramp up time ?