Reputation: 11
I have a test plan with HTTP requests grouping in transaction controllers, for example:
Transaction Controller A:
--Request 1
--Request 2
...
--Request N
Now, I need to control the request rate of such transactions instead of individual requests. For example, I probably want 60 instances of Transaction Controller A per minute.
There is a Constant Throughput timer, which as far as I understand, is to control throughput for individual requests. For example, if I set Constant Throughput timer throughput to be 60 per minute, JMeter will give me 60 requests per minute on avg, but not 60 instances of Transaction Controller A per minute.
What is the right way to configure JMeter to have 60 instances of Transaction Controller A per minute?
One workaround I can think of, but haven't tried it out, is to set throughput to be 60N(N is the number of requests in a transaction). Though, I need to update it every time I change the number of requests in a transaction controller.
Thanks.
Upvotes: 1
Views: 1522
Reputation: 181
You could just add a timer to each individual request.
This is a transaction that last a second, the thread pool has 20 threads, the first configuration has no timer at all.
The system is able to produce almost 20RPS, and 10TPS (The transaction has 2 requests, each one last half second).
Lets create a timer that will limit the throughput up to 10 TPS.
Let's add the timer to the transaction controller element, it is only able to produce 5 TPS, the timer is limmiting requests up to 10 RPS.
If we add the timer in each individual request, we will be able to get up to 10TPS, 20RPS.
Upvotes: 1