Throughput Shaping Timer configuration

book

Article ID: 196350

calendar_today

Updated On:

Products

BlazeMeter

Issue/Introduction

Often a requirement exists to run a test with different loads on different intervals of the test. The way to accomplish this is by inserting a Throughput Shaping Timer in the JMeter script, e.g. like this one:

The resulting report however may look like the configured RPS values were not taken into account at all.

Cause

 

The Blazemeter test configuration may list a number of engines to be used to run the test, either because the test needs to be run at different locations or the load of the virtual users running the test is to be distributed over multiple engines to prevent them from being overloaded.

When you manually insert a throughput shaping timer, the configured values are adhered to by each of the engines. So in the example above, where at intervals, you want 125 hits/s, each of the engines tries to accomplish that number of hits. If they succeed, this means that the actual number of hits is 125 times the number of engines, so with e.g. 4 engines the total number of hits would be 500 for the interval where only 125 RPS were configured.

Environment

Blazemeter SaaS

Resolution

 

Be aware of how many engines will run the JMeter script, it is listed in the Load Distribution section, e.g.

Divide the RPS values in the throughput shaping timer by the number of engines in order to reach the desired amount when the accomplished number of hits of all engines are accumulated.

Additional Information

 

If the number of hits/s needs to be throttled to a constant number, use the Limit RPS feature as described in this article. It applies to the entire test irrespective of the number of engines that run the test. It also allows you to modify this number on the fly (while the test is running).

Attachments