Flexible Thread Scheduling

There is a plug-in that we can use to increase or decrease the number of threads at a scheduled time in JMeter tests.

The Ultimate Thread Group provides flexible thread scheduling to your test scenario. It allows you to create a scheduled thread with advanced configuration.

Available scenarios with the Ultimate Thread Group are as following:

  • Multiple scheduled records can be defined
  • Start Threads Count, Initial Delay, Startup Time and Hold Load Time can be defined separately for each record
  • Scheduled load preview can be displayed on the chart

Step 1: Add Thread Group

Test plan -> Add -> Threads (Users) -> jp@gc – Ultimate Thread Group

 

 

Example Scenario

  • The test will start with 70 threads
  • At the 20th second of the test, 200 threads will be reached by adding 130 threads with a 4 second ramp up.
  • After working with 200 threads for 25 seconds, 130 threads will be closed.
  • In the 60th second of the test, 150 threads will be reached by adding 80 threads with a 4 second ramp up.
  • After working with 150 threads for 25 seconds, 80 threads will be closed.
  • Continue with 70 threads until 2 minutes are completed.

 

 

To make it more understandable, we have marked the area that each record covers on the chart.

Note: Threads are automatically closed when the given hold load time is complete. If there are threads that are not closed, there are thread blocking operations.

Step 2: Basic Settings

Required configurations on the “New Tests” screen for the JMeter test scenario using ultimate thread group:

  • Thread Count value should be calculated and entered at the maximum thread number that will run simultaneously. For example: In the example above, max 200 threads will work in one engine at the same time.
  • Duration value should be set according to the timeline in the ultimate thread group preview graphic. It’s not a problem that the time determined is more than the ultimate thread running time. Testing will end automatically when threads are finished.
  • Iteration and Ramp up Time values are managed by the Ultimate thread group plug-in.
  • The Engine Count value should be set accordingly as many as the number of engines requested.

 

Step 3: Advanced Settings

For test scenarios using Ultimate thread group, the following property should be added on the “New Tests” -> “Advanced Settings” tab.

disableEditThreadGroups true

 

Settings are complete. You can save and run the test.

Report resulting from the above test: