---
description: Be default, JMeter sends the request without pausing between each request. In that case, JMeter could overwhelm your test server by making too many requests in a short amount of times.
title: "JMeter Timer: Constant, Gaussian, Uniform Random"
image: https://www.guru99.com/images/jmeter-timer.png
---

[Skip to content](#main)

**⚡ Smart Summary**

JMeter timers introduce a controlled delay between requests so a thread pauses like a real user, preventing server overload and reproducing realistic think time across Constant, Gaussian, Uniform, and scripting based types.

- ⏸️ **Constant Timer:** Adds the same fixed delay each request.
- 🔔 **Gaussian Random Timer:** Delays by a normal distribution curve.
- 📏 **Uniform Random Timer:** Delays randomly within a set range.
- 📝 **Scripting Timers:** BeanShell, BSF, and JSR223 add custom delays.
- 🤖 **AI Assistance:** AI models think time from real traffic.

Read More

![JMeter Timers](https://www.guru99.com/images/jmeter-timer.png)

## What are Timers?

By default, JMeter sends the request **without pausing** between each request. In that case, JMeter could **overwhelm** your test server by making too many requests in a short amount of times.

Let us imagine you send **thousands** of requests to a web server under test in a few seconds. This is what happens!

[![Timers in JMeter]()](https://www.guru99.com/images/TimerOverload.png)

Timers allow JMeter to **delay** between each request which a thread makes. A timer can solve the server **overload** problem.

Also,** in real life visitors do not arrive at a website all at the same time, but at different time intervals. So Timer will help mimic the real-time behavior.**

Following are some **common** types of a timer in JMeter

## Constant Timer

Constant timer delays each user request for the **same** amount of time.

[![Constant Timer in JMeter]()](https://www.guru99.com/images/ConstantTimer.png)

## Gaussian Random Timer

[Gaussian](http://hyperphysics.phy-astr.gsu.edu/hbase/math/gaufcn.html) random timer delays each user request for a **random** amount of time.

[![Gaussian Random Timer in JMeter]()](https://www.guru99.com/images/RamdomTimer.png)

### Parameters

| Attribute | Description |
| --- | --- |
| Name | Descriptive name for this timer that is shown in the tree |
| Deviations (milliseconds) | A **parameter** of Gaussian Distribution Function |
| Constant Delay Offset (milliseconds) | **Additional** value in milliseconds |

So the total delay is described as below figure:

[![Gaussian Random Timer in JMeter]()](https://www.guru99.com/images/TotalDelay.png)

## Uniform Random Timer

Uniform random timer delays each user request for a random amount of time.

[![Uniform Random Timer in JMeter]()](<https://www.guru99.com/images/UniformRandomTimer(1).png>)

### Parameters

| Attribute | Description |
| --- | --- |
| Name | Descriptive name for this timer that is shown in the tree |
| Random Delay Maximum | Maximum random number of milliseconds to delay. |
| Constant Delay Offset (milliseconds) | **Additional** value in milliseconds |

**The total delay is the sum of the random value and the offset value.**

**Don't Miss:**

- [How to Download & Install Apache JMeter (Windows)](https://www.guru99.com/guide-to-install-jmeter.html)
- [Assertions in JMeter: Response Assertion with Examples](https://www.guru99.com/assertions-in-jmeter.html)
- [HTTP Proxy Server in JMeter: Record Example Script](https://www.guru99.com/how-to-use-jmeter-for-http-proxy-server-testing.html)
- [9 JMeter Alternatives (2026 Update)](https://www.guru99.com/jmeter-alternative.html)

## BeanShell Timer

The [BeanShell](http://www.beanshell.org/) Timer can be used to **generate** a delay time between each user request.

## BSF Timer

The BSF Timer can be used to generate a delay between each user request using a [BSF](https://en.wikipedia.org/wiki/Bean_Scripting_Framework) scripting language.

## JSR223 Timer

The JSR223 Timer can be used to generate a delay between each user request using a [JSR223](https://en.wikipedia.org/wiki/JSR223) scripting language

## How to Use Constant Timer

In this example, you will use **Constant Timer** to set **a fixed delay** between user requests to google.com.

Let start with a simple test script

1. JMeter creates **one** user request to [http://www.google.com](http://www.google.com/) **100** times
2. **Delay** between each user request is **5000** ms

Here is the **roadmap** for this practical example:

[![Use Constant Timer in JMeter]()](https://www.guru99.com/images/FlowTimer.png)

## Pre-condition

We **re-use** the Step 1 and Step 2 in tutorial [JMeter Performance Testing](https://www.guru99.com/jmeter-performance-testing.html).

### Step 1) Add Thread Group

Right click on the [ Test Plan](https://www.guru99.com/test-planning.html) and add a new thread group: **Add**-> **Threads (Users)** ->**Thread Group**

In Thread Group control panel, enter Thread Properties as following

[![Add Thread Group]()](https://www.guru99.com/images/ThreadProperty.png)

This setting lets JMeter create **one** user request to [http://www.google.com](http://www.google.com/) in **100** times

### Step 2) Add JMeter elements

- Add HTTP request default
- Add HTTP request

### Step 3) Add Constant Timer

Right-click **Thread Group** **->**** Timer** **->**** Constant Timer**

[![Add Constant Timer]()](https://www.guru99.com/images/AddConstantTimer.png)

Configuring Thread Delay of 5000 milliseconds

[![Add Constant Timer]()](https://www.guru99.com/images/ThreadDelayConstantTimer.png)

### Step 4) Add View Results in Table

View Results in Table displays the test result in table format.

Right click **Add** **->**** Listener** **->****View Result in Table**

[![Add View Results in Table]()](https://www.guru99.com/images/AddViewResult.png)

View Results in Table displays as below figure

[![Add View Results in Table]()](https://www.guru99.com/images/AddViewResultTable.png)

### Step 5) Run your test

When you are ready to run a test, click **the Run** button on the menu bar, or press **Ctrl+R**

This is the result of this test

[![Run The Test]()](https://www.guru99.com/images/RunYourTest.png)

For example, in the above figure, let analyze the **Sample 2**

- **Start time** is 22:05:01.866
- **Sample Time** of Sample 2 is 172 ms
- **Constant Timer**: 5000 ms (as configured)
- **End Time** of this sample is = 22:05:01.866 + 172 + 5000 = 22:05:07.038

So the Sample 3 should start at the time is **22:05:07.039** ( As shown in the above figure)

The **delay** of each sample is **5000** ms

If you change the Constant Timer is **zero**, you will see the result is changed

[![Run The Test]()](https://www.guru99.com/images/SampleTimer.png)

Let analyze the **Sample 1**

- **Start time** is 22:17:39.141
- **Sample Time** of Sample 2 is 370 ms
- **Constant Timer** : 0 ms (as configured)
- **End Time** of this sample is = 22:17:39.141+ 370 + 0 = 22:17:39.511

So the **Sample 2** should start at the time is **22:17:39.512** (Shown in the above figure)

## Troubleshooting

If you face the issue while running the above scenario … do the following

1. Check whether you are connecting to the internet via a proxy. If yes, remove the proxy.
2. Open a new instance of JMeter
3. Open the [TimerTestPlan.jmx](https://drive.google.com/uc?export=download&id=0B_vqvT0ovzHcUjJ5Vm1rN0g1ZlU) in JMeter
4. Double Click on Thread Group -> View Result in Table
5. Run the Test

## FAQs

🕒 What is think time in JMeter?

Think time is the pause a user takes between actions, reproduced by JMeter timers.

📍 Where is a timer applied in the test plan?

A timer applies to every sampler in its scope; at thread-group level it delays all requests there.

⚖️ Constant Timer versus Uniform Random Timer, what differs?

Constant Timer adds a fixed delay; Uniform Random Timer adds a random delay within a range.

🤖 Can AI suggest realistic think times for load tests?

Yes. AI analyzes traffic logs and recommends think-time distributions matching real user pacing in JMeter.

🧠 How does AI improve performance test modeling?

AI learns usage patterns, generates realistic pacing, and flags anomalies, making load tests more predictive.

#### Summarize this post with:

ChatGPTPerplexityGrokGoogle AI

**Stay Updated on AI** **Get Weekly AI Skills, Trends, Actionable Advice.**

##### Sign up for the newsletter

Subscribe for Free

You have successfully subscribed.  
Please check your inbox.

![AI-Newsletter]() Chosen by over **350,000+** professionals

[Scroll to topScroll to top](#wrapper) Scroll to top

×

Toggle Menu Close

Search for:

Search

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://www.guru99.com/#organization","name":"Guru99","sameAs":["https://www.facebook.com/Guru99Official","https://twitter.com/guru99com"],"logo":{"@type":"ImageObject","@id":"https://www.guru99.com/#logo","url":"https://www.guru99.com/images/guru99-logo-v1-150x59.png","contentUrl":"https://www.guru99.com/images/guru99-logo-v1-150x59.png","caption":"Guru99","inLanguage":"en-US"}},{"@type":"WebSite","@id":"https://www.guru99.com/#website","url":"https://www.guru99.com","name":"Guru99","publisher":{"@id":"https://www.guru99.com/#organization"},"inLanguage":"en-US"},{"@type":"ImageObject","@id":"https://www.guru99.com/images/jmeter-timer.png","url":"https://www.guru99.com/images/jmeter-timer.png","width":"700","height":"250","caption":"JMeter Timer","inLanguage":"en-US"},{"@type":"BreadcrumbList","@id":"https://www.guru99.com/timers-jmeter.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":"1","item":{"@id":"https://www.guru99.com","name":"Home"}},{"@type":"ListItem","position":"2","item":{"@id":"https://www.guru99.com/jmeter","name":"JMeter"}},{"@type":"ListItem","position":"3","item":{"@id":"https://www.guru99.com/timers-jmeter.html","name":"JMeter Timer: Constant, Gaussian, Uniform Random"}}]},{"@type":"WebPage","@id":"https://www.guru99.com/timers-jmeter.html#webpage","url":"https://www.guru99.com/timers-jmeter.html","name":"JMeter Timer: Constant, Gaussian, Uniform Random","dateModified":"2026-06-27T14:13:15+05:30","isPartOf":{"@id":"https://www.guru99.com/#website"},"primaryImageOfPage":{"@id":"https://www.guru99.com/images/jmeter-timer.png"},"inLanguage":"en-US","breadcrumb":{"@id":"https://www.guru99.com/timers-jmeter.html#breadcrumb"}},{"@type":"Person","@id":"https://www.guru99.com/author/thomas","name":"Thomas Hamilton","description":"I am Thomas Hamilton, a seasoned professional in software testing, specializing in crafting comprehensive guides to help you master your software testing skills.","url":"https://www.guru99.com/author/thomas","image":{"@type":"ImageObject","@id":"https://www.guru99.com/images/thomas-hamilton-author-v2-120x120.png","url":"https://www.guru99.com/images/thomas-hamilton-author-v2-120x120.png","caption":"Thomas Hamilton","inLanguage":"en-US"},"worksFor":{"@id":"https://www.guru99.com/#organization"}},{"articleSection":"JMeter","headline":"JMeter Timer: Constant, Gaussian, Uniform Random","description":"Be default, JMeter sends the request without pausing between each request. In that case, JMeter could overwhelm your test server by making too many requests in a short amount of times.","keywords":"jmeter","speakable":{"@type":"SpeakableSpecification","cssSelector":[".entry-title",".summary"]},"@type":"Article","author":{"@id":"https://www.guru99.com/author/thomas","name":"Thomas Hamilton"},"dateModified":"2026-06-27T14:13:15+05:30","image":{"@id":"https://www.guru99.com/images/jmeter-timer.png"},"copyrightYear":"2026","name":"JMeter Timer: Constant, Gaussian, Uniform Random","subjectOf":[{"@type":"FAQPage","mainEntity":[{"@type":"Question","name":"What is think time in JMeter?","acceptedAnswer":{"@type":"Answer","text":"Think time is the pause a user takes between actions, reproduced by JMeter timers."}},{"@type":"Question","name":"Where is a timer applied in the test plan?","acceptedAnswer":{"@type":"Answer","text":"A timer applies to every sampler in its scope; at thread-group level it delays all requests there."}},{"@type":"Question","name":"Constant Timer versus Uniform Random Timer, what differs?","acceptedAnswer":{"@type":"Answer","text":"Constant Timer adds a fixed delay; Uniform Random Timer adds a random delay within a range."}},{"@type":"Question","name":"Can AI suggest realistic think times for load tests?","acceptedAnswer":{"@type":"Answer","text":"Yes. AI analyzes traffic logs and recommends think-time distributions matching real user pacing in JMeter."}},{"@type":"Question","name":"How does AI improve performance test modeling?","acceptedAnswer":{"@type":"Answer","text":"AI learns usage patterns, generates realistic pacing, and flags anomalies, making load tests more predictive."}}]}],"@id":"https://www.guru99.com/timers-jmeter.html#schema-1124005","isPartOf":{"@id":"https://www.guru99.com/timers-jmeter.html#webpage"},"publisher":{"@id":"https://www.guru99.com/#organization"},"inLanguage":"en-US","mainEntityOfPage":{"@id":"https://www.guru99.com/timers-jmeter.html#webpage"}}]}
```
