0

I'm interested in running a test over many hours.

What is the maximum value I can put for Ramp Up Period in JMeter?

1

Ramp Up is the time Jmeter will take to start execution of all the threads. So the ramp-up period tells Jmeter how long to take before reaching the full number of threads execute concurrently.

For example,

  • 1000 target threads with 1000 seconds ramp-up: JMeter will add one user each second. After 1000 seconds you will have 1000 threads/user requests executing concurrently.
  • 1000 target threads with 100 seconds ramp-up: JMeter will add 10 users each second. After 100 seconds you will have 1000 threads/user requests executing concurrently.
  • 1000 target threads with 50 seconds ramp-up: JMeter will add 20 users each second. After 50 seconds you will have 1000 threads/user requests executing concurrently.
  • 1000 target threads with 0 seconds ramp-up: JMeter will add 1000 users at the start of the test. From the begining of the test you will have 1000 threads/user requests executing concurrently.

There is no fixed rule of ramp up limit. You will need to decide this with trial and error method based on the amount of load you want to increment by the second and also the load the system on which you are running Jmeter can handle.

When you run Jmeter it will occupy local system memory, CPU, I/O and also the Heap Size of Jmeter. If you have a very high number of threads and low ramp up, you might get unrealistic results, or it might also hang up the system.

Even if the ramp up is set very high the test will take that long to get to the full number of threads being executed and again the results would not be as accurate as you would like.

So ultimately you need to figure out the ramp up duration on the go.

Edit: Adding information regarding Ramp Up data type and maximum value as per OP's comment.

Source: apache-jmeter-5.4.1_src

File: apache-jmeter-5.4.1_src/apache-jmeter-5.4.1/src/core/src/main/java/org/apache/jmeter/threads/ThreadGroup.java

Line 58:

/** Ramp-up time */
public static final String RAMP_TIME = "ThreadGroup.ramp_time";

Line 159:

/**
 * Set the ramp-up value.
 *
 * @param rampUp
 *            the ramp-up value.
 */
public void setRampUp(int rampUp) {
    setProperty(new IntegerProperty(RAMP_TIME, rampUp));
}

/**
 * Get the ramp-up value.
 *
 * @return the ramp-up value.
 */
public int getRampUp() {
    return getPropertyAsInt(ThreadGroup.RAMP_TIME);
}

Line 217:

int rampUpPeriodInSeconds = getRampUp();

From the code data type of Ramp Up seems to be int. Therefore the maximum value allowed should be 2147483647.

2
  • I already know what the ramp up period does, all I want to know is what the max value can be. You say "There is no fixed rule of ramp up limit", but there has to be a limit. I think JMeter is build in Java, so if the data type for the ramp up period field is long, then the max value would be 9,223,372,036,854,775,807 for example. Mar 2 at 4:37
  • 1
    I've added more information regarding the ramp up and it's data type to my answer. I hope that helps answer your query. Mar 2 at 5:46
2

Inside the Thread Group ramp-up period is being stored as a Java Integer therefore the absolute maximum value is 2^31-1 which gives 2147483647

However the ramp-up time indicates the time for all threads (virtual users) to become active, so most probably you're looking for the Duration setting:

enter image description here

which in its turn can be as big as 2^63 -1 to wit 9223372036854775807

More information:

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.