Timer in JMeter is easy but crucial part of JMeter where we have to manage the thread user count and time to apply the load to the application. Below screenshot is list of all Timers provided by JMeter to control the load. If you want to use the thread user with some interval, then Timer helps you to spaceout your sampler requests. We can called this as “Think Time” We can user both static and variable time to separate request.
You may ask, why we use this Timer? What will happened if we will not use?
This is very important to implement timer in your JMeter script. Timer is generally used when you need to run the load test on the application where you need to simulate the user activity like User login, Registration, Product
- Constant Timer
- Uniform Random Timer
- Precise Throughput Timer
- Constant Random Timer
- Gaussian Random Timer
- JSR223 Timer
- Poisson Random Timer
- Synchronizing Timer
- Beanshell Timer
Below is the sceenshot of the JMeter Timers.

Let’s understand the different types of JMeter timers and when to use which timers.
Constant Timer :
Constant Timer is a very simple timer. Before initiating a thread this will add a delay to each thread which is in milliseconds.

Above screenshot is the example of Constant Timer. It has some filed we should aware of. Let’s discuss the significance of each field.
- Name: This field signifies the name of the assertion which will be listed under the Thread. Name field is so crucial if you will be working with a big application having lots of validation and functionalities.
- Comments: Comments field is usually used to give comments to our Assertion. This field is optional.
- Thread Delay (in Milliseconds) : This will accept the seconds in milliseconds which will add a Delay to each thread.
Uniform Random Timer:
From the name we can guess that Uniform Random Timer is This is just an one level up to the Constant Timer. This will add a random additional value to the delay to the thread initiation.

Above screenshot is the example of Uniform Random Timer. It has some filed we should aware of. Let’s discuss the significance of each field.
- Name: This field signifies the name of the assertion which will be listed under the Thread. Name field is so crucial if you will be working with a big application having lots of validation and functionalities.
- Comments: Comments field is usually used to give comments to our Assertion. This field is optional.
- Random Delay Maximum: This will accept the seconds in milliseconds which will add a random maximum delay to each thread.
- Constant Delay Offset: This will accept the seconds in milliseconds which will add a constant delay to each thread.
Precise Throughput Timer :
This timer define the number of sampled need to be executed per unit time period.

Constant Throughput Timer:
This timer define the number of sampled need to be executed per unit time period but doesn’t allow for the flexible variance of the Precise Throughput Timer. Otherwise Constant Throughput Timer and Precise Throughput Timer.

Gaussian Random Timer :
This timer will allocate users for delay based on Gaussian distribution only.

JSR223 Timer:
This timer is generally for advance use. It required some level of coding knowledge. Because this timer take the JSR223 script as input and based on the script only delay will be added to the thread. the JSR223 timer will run whatever code you script in that language:

Poisson Random Timer:
This timer uses Poisson distribution to add delay to the thread. The implementation is same as Gaussian Random Timer.

Synchronizing Timer :
This timer will generally wait until a certain number of threads have accumulated, and then group and release all threads at once.

Beanshell Timer:
This timer is generally for advance use. It required some level of coding knowledge. Because this timer take the Beanshell script as input and based on the script only delay will be added to the thread. the Beanshell timer will run whatever code you script in that language:

Now we have got the clear picture on Timer in JMeter.