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 supporting different types of performance test, 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.
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 ‘Concurrency Thread Group’ plug-in?
- Click on the link to download Concurrency Thread Group JMeter Plugin
- Unzip the folder
- 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
- 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
- Launch the JMeter in GUI mode
How to add ‘Concurrency Thread Group’ in the script?
- Select ‘Test Plan’ node
- Right-click on the ‘Test Plan’ node
- Hover the mouse on ‘Add’
- Hover the mouse on ‘Thread (Users)’
- Click ‘bzm – Concurrency Thread Group’
How to configure workload using ‘Concurrency Thread Group’?
- Add the Concurrency Thread Group in the test plan by following above described steps
- Provide the values for the below input fields:
- Target Concurrency
- Ramp Up Time (in minutes)
- Ramp-Up Step Count
- Hold Target Rate Time (in minutes)
- Time Unit
- Thread Iterations Limit
- Log Threads Status into File
What are the input fields of ‘Concurrency Thread Group’?
- Name: To provide Thread Group name. It may be your Test Case/Test Scenario name
- Comments: To provide comments.
- 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:
- Continue – ignore the error and continue with the test
- Start Next Loop – ignore the error, start next loop and continue with the test
- Stop Thread – current thread exits
- Stop Test – the entire test is stopped at the end of any current samples
- Stop Test Now – the entire test is stopped abruptly. Any current samplers are interrupted if possible.
- Target Concurrency: Total number of threads (users) in the test.
- Ramp-up Time (min): Total ramp-up duration in minutes. You can also provide ramp-up duration in seconds by choosing ‘seconds’ in ‘Time Unit’ option given below the scenario chart.
- Ramp-up Steps Count: Total number of steps in which a group of threads (users) will ramp-up.
- Hold Target Rate Time (min): The steady-state when all the threads are active. This is also called as 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.
- Time Unit: To change the input time unit either in minutes or in seconds.
- Thread Iterations Limit: Maybe the purpose of this option to control the loop count, but unfortunately it does not work so you may keep it blank.
- 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
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 concurrency thread group: