JMeter – Concurrency Thread Group

Generic Thread Group element along with setUp Thread Group and tearDown Thread Group comes by default with Apache JMeter package. These basic Thread Group elements have certain limitations like you can not create the workload model for a spike test or step-up test using these basic thread groups. To overcome this problem and support different types of performance tests, some external plug-ins are available which provide the option to create the desired workload and achieve the performance goal. JMeter ‘Concurrency Thread Group’ plugin is one of the external plugins which is used to design the step-up test type workload model. Using Concurrency Thread Group you can apply conditional load on the server.

Additional Information

BlazeMeter designed Concurrency Thread Group as an upgraded version of Stepping Thread Group. Stepping Thread Group has been deprecated after the launch of Concurrency Thread Group. Hence you can see ‘bzm’ suffice in the name of the thread group.

How to download the ‘Concurrency Thread Group’ plug-in?

  1. Click on the link to download Concurrency Thread Group JMeter Plugin
  2. Unzip the folder
  3. Copy the file jmeter-plugins-cmn-jmeter-<version>.jar to lib folder of Apache JMeter
    apache-jmeter-<version> –>lib –> Paste jmeter-plugins-cmn-jmeter-<version>.jar
  4. Copy the files jmeter-plugins-casutg-<version>.jar and jmeter-plugins-manager-<version>.jar to ext folder of Apache JMeter
    apache-jmeter-<version> –>lib –>ext -> Paste jmeter-plugins-casutg-<version>.jar and jmeter-plugins-manager-<version>.jar
  5. Launch the JMeter in GUI mode

How to add ‘Concurrency Thread Group’ in the script?

  1. Select ‘Test Plan’ node
  2. Right-click on the ‘Test Plan’ node
  3. Hover the mouse on ‘Add’
  4. Hover the mouse on ‘Thread (Users)’
  5. Click ‘bzm – Concurrency Thread Group’
Figure 01: Adding Concurrency Thread Group

How to configure workload using ‘Concurrency Thread Group’?

  1. Add the Concurrency Thread Group to the test plan by following the above-described steps
  2. Provide the values for the below input fields:
    1. Target Concurrency
    2. Ramp-Up Time (in minutes)
    3. Ramp-Up Step Count
    4. Hold Target Rate Time (in minutes)
    5. Time Unit
    6. Thread Iterations Limit
    7. Log Threads Status into File
Figure 02: Concurrency Thread Group

What are the input fields of ‘Concurrency Thread Group’?

  1. Name: To provide Thread Group name. It may be your Test Case/Test Scenario name
  2. Comments: To provide comments.
  3. Action to be taken after a Sampler error: Actions taken in case of sampler error occurs, either because the sample itself failed or an assertion failed etc. The possible choices are:
    1. Continue – ignore the error and continue with the test
    2. Start Next Loop – ignore the error, start next loop and continue with the test
    3. Stop Thread – current thread exits
    4. Stop Test – the entire test is stopped at the end of any current samples
    5. Stop Test Now – the entire test is stopped abruptly. Any current samplers are interrupted if possible.
  4. Target Concurrency: Total number of threads (users) in the test.
  5. Ramp-up Time (min): Total ramp-up duration in minutes. You can also provide ramp-up duration in seconds by choosing ‘seconds’ in the ‘Time Unit’ option given below the scenario chart.
  6. Ramp-up Steps Count: Total number of steps in which a group of threads (users) will ramp up.
  7. Hold Target Rate Time (min): The steady-state when all the threads are active. This is also called a system monitoring window. If you want to monitor the system/application performance for 1 hour then the value for hold target rate time will be 60 minutes or 3600 seconds. The ramp-up time does not add to this time.
  8. Time Unit: To change the input time unit either in minutes or in seconds.
  9. Thread Iterations Limit: Maybe the purpose of this option is to control the loop count, but unfortunately it does not work so you may keep it blank.
  10. Log Thread Status into File: Provide the full path of the file along with the name where you want to save the log file. e.g. C:\PerfMatrix\Result\testLogFile.log

Example:

A step-up test scenario needs to design with 500 user load. The users (threads) should ramp up with the rate of 100 users/step and steady state of each step should be 12 minutes.

Refer to the below workload model using the concurrency thread group:

Figure 03: Concurrency Thread Group Example

Test Scenario which you can design