A JMeter script has been developed as the following:
Test Plan
Concurrency Thread Group 1 (Target concurrency: ${__tstFeedback(TST Name,1,600,50)})
Sampler 1
Sampler 2 (this contains a throughout shaping timer)
Concurrency Thread Group 2 (Target concurrency: ${__tstFeedback(TST Name,1,100,50)})
Sampler 1
Sampler 2 (this contains a throughout shaping timer) . .
For the Taurus yml I have created the following:
settings:
env:
jmeterVersion: 5.5
execution:
- scenario: peak-test
hold-for: 15m
scenarios:
peak-test:
script: testscript.jmx
modifications:
disable:
- Thread Group 2
- Thread Group 3
- Thread Group 4
modules:
memory-xmx: 6G
detect plugins: true
reporting:
- module: final-stats
- module: console
I had a look at several posts online with regards to how to create a Taurus yml with multiple thread groups that have different throughput requirements. My approach with the above yml was to create different yml files for each thread group and disable the thread groups that do not have the same throughput.
Then I would be able to run each yml using the command:
bzt testscript1.yml, testscript2.yml, etc. etc.
Is this the best practice from an implementation perspective?