# JMeter Constant Throughput Timer

# Introduction

The Constant Throughput Timer in JMeter is a timer component used to control the rate at which requests are sent to a server during a performance test. 

# How it works:

-   **Target Throughput:**

    The timer is configured with a "Target Throughput" value, which represents the desired number of requests per minute.

-   **Dynamic Adjustment:**

    JMeter dynamically introduces delays between requests to ensure that the actual throughput achieved during the test closely matches the specified target. This means if the system is responding quickly, the timer will introduce more pauses; if the system is slow, it will introduce fewer pauses (but it cannot force the system to respond faster than its capacity).

-   **Minute-Level Accuracy:**

    The Constant Throughput Timer is designed to be accurate at the minute level. This implies that the test duration should be at least one minute or longer for the timer to effectively regulate the throughput.

# Key characteristics and considerations:

-   **Goal-Oriented Scenarios:**

    It is particularly useful for "goal-oriented" load tests where the objective is to achieve a specific request rate rather than simply simulating a certain number of concurrent users.

-   **Limitations:**

    It can only pause threads to slow them down; it cannot create threads or force the system to process requests faster than its capabilities. If the server cannot handle the desired throughput, the actual throughput achieved will be lower than the target.

-   **Placement:**

    It can be placed at various levels in the test plan (e.g., within a Thread Group, a Controller, or directly on a Sampler) depending on the scope of throughput control required.

-   **Interaction with other Timers:**

    Using other timers in conjunction with the Constant Throughput Timer can sometimes complicate the precise control of throughput and should be carefully considered.

# Conclusion

In this short article we learnt a little bit about the JMeter Constant Throughput Timer and in summary its primary purpose is to help maintain a steady and consistent throughput (requests per minute) throughout the test execution, rather than simply sending requests as fast as possible. 
