user6056290
user6056290

Reputation: 11

jmeter: control transaction rate for transaction controllers

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

Answers (1)

Sebastian G.
Sebastian G.

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.

enter image description here

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.

enter image description here

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.

enter image description here

If we add the timer in each individual request, we will be able to get up to 10TPS, 20RPS.

enter image description here

Upvotes: 1

Related Questions