---
title: "Once Only Controller"
description: "Configure the JMeter Once Only Controller logic controllers: properties, defaults, and practical usage notes for building reliable load tests."
url: https://docs.jmeter.ai/components/once-only-controller/
lastUpdated: 2026-10-01
source: docs.jmeter.ai
---

# Once Only Controller

*Part of the **Logic Controllers** category. Also documented in context in the [full Component Reference](/user-manual/component-reference/#once-only-controller).*

![Once Only Controller](/images/screenshots/logic-controller/once-only-controller.png)

The Once Only Logic Controller tells JMeter to process the controller(s) inside it only once per Thread, and pass over any requests under it
during further iterations through the test plan.

The Once Only Controller will now execute always during the first iteration of any looping parent controller.
Thus, if the Once Only Controller is placed under a Loop Controller specified to loop 5 times, then the Once Only Controller will execute only on the first iteration through the Loop Controller
(i.e. every 5 times).

Note this means the Once Only Controller will still behave as previously expected if put under a Thread Group (runs only once per test per Thread),
but now the user has more flexibility in the use of the Once Only Controller.

For testing that requires a login, consider placing the login request in this controller since each thread only needs
to login once to establish a session.

| Name | Required | Description |
| --- | --- | --- |
| Name | No | Descriptive name for this controller that is shown in the tree. |

#### Once Only Example

[Download](../demos/OnceOnlyTestPlan.jmx) this example (see Figure 5).
In this example, we created a Test Plan that has two threads that send HTTP request.
Each thread sends one request to the Home Page, followed by three requests to the Bug Page.
Although we configured the Thread Group to iterate three times, each JMeter thread only
sends one request to the Home Page because this request lives inside a Once Only Controller.

![Figure 5. Once Only Controller Example](/images/screenshots/logic-controller/once-only-example.png)

*Figure 5. Once Only Controller Example*

Each JMeter thread will send the requests in the following order: Home Page, Bug Page,
Bug Page, Bug Page.

Note, the File Reporter is configured to store the results in a file named “`loop-test.dat`” in the current directory.

## Related

- [Logic Controllers & Flow Control](/topics/logic-controllers-flow-control/)
- [Full Component Reference](/user-manual/component-reference/)
- [Functions and Variables](/user-manual/functions/)
