A fast JMeter thread group can send requests as soon as each sampler finishes, which can push a service above the planned request rate. A Constant Throughput Timer adds delays before affected samplers so the workload aims for a chosen sample rate instead of running at full speed.
The timer target is entered in samples per minute. Its calculation mode decides whether that target applies to one thread, all active threads, or only the active threads in the current Thread Group. For a single thread group that should produce one aggregate request rate, the shared current-thread-group mode keeps the setting as one group-level rate instead of a per-thread rate.
The timer can slow sampler starts, but it cannot create more capacity than the thread count and response times allow. If responses take too long or too few threads are active, the observed rate can stay below the target even when the timer is configured correctly.
Target throughput: 120.0
JMeter reads this field as samples per minute. A target of 120.0 means about two samples per second for the timer's selected scope.
Use this mode when the selected Thread Group should share one total rate. Per-thread modes multiply the effective rate as more threads become active.
A timer applies to affected samplers in its scope. Move login, setup, or cleanup samplers outside that scope when they should not count against the paced request rate.
$ jmeter -n -t constant-throughput-timer-demo.jmx -l constant-throughput-results.jtl -j jmeter.log Creating summariser <summary> Created the tree successfully using constant-throughput-timer-demo.jmx Starting standalone test @ 2026 Jun 29 22:03:36 GMT summary = 12 in 00:00:06 = 2.2/s Avg: 22 Min: 0 Max: 271 Err: 0 (0.00%) Tidying up ... ... end of run
Target: 120 samples/minute, about 2.0 samples/second Observed: summary = 12 in 00:00:06 = 2.2/s, Err: 0 (0.00%)
A small short-run difference is expected because startup, ramp-up, and sample timing are not perfectly even. If the rate stays far below target, raise the Thread Group user count or reduce sampler response time before increasing the timer target.