> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fire.rest/llms.txt
> Use this file to discover all available pages before exploring further.

# Load simulator

> Replay a realistic traffic pattern from real production data, timed to follow the actual hourly distribution curve.

<Note>
  The load simulator is not a simple "send N orders" tool. It models the **shape** of real traffic — orders are spaced out to match the historical hourly distribution, so the pressure on FIRE mirrors what happens during an actual lunch rush or evening peak.
</Note>

<img src="https://mintcdn.com/firepos/9UYk1f5ElnChzAeP/images/fuel/tab-load-sim-en.png?fit=max&auto=format&n=9UYk1f5ElnChzAeP&q=85&s=57233fd2c603788e44c00a397c232dfe" alt="Load simulator tab — traffic configuration and store context selector" width="1920" height="945" data-path="images/fuel/tab-load-sim-en.png" />

## Purpose

Use the **Load Sim** tab to stress-test FIRE under realistic conditions. Rather than flooding the system with all orders at once, the simulator computes when each order should fire based on a historical distribution curve, then introduces the right timing delays between requests.

This makes it useful for validating queue behavior, KDS throughput, fiscal callback handling, and any system that responds to order velocity rather than just volume.

## Configuring the simulation

### Data source

<CardGroup cols={2}>
  <Card title="FIRE data" icon="database">
    Pulls the historical order distribution directly from FIRE for a date range you specify. Use this when you want the simulation to reflect real traffic from a specific store or period.
  </Card>

  <Card title="Local samples" icon="folder">
    Uses order samples stored in FUEL's own database. Useful when FIRE data is unavailable or you want a repeatable baseline dataset.
  </Card>
</CardGroup>

### Hour filter

Restrict the distribution to a specific window of the day. For example, set **From** `11` **To** `14` to isolate the lunch rush. Orders outside the selected range are excluded from the curve before the simulation is built.

### Target duration

Set how long the entire simulation should take, in minutes. FUEL computes a **compression factor** automatically:

> If the source data spans a 4-hour peak and your target duration is 30 minutes, the compression factor is **8×** — each real-world minute of traffic is compressed into 7.5 seconds of simulation time.

A lower target duration means higher instantaneous order rate. Use this to amplify stress without needing more data.

## Traffic curve chart

After selecting a source and applying the hour filter, FUEL renders a **hourly bar chart** showing the order distribution across the selected window. Review the curve before starting — it confirms which hours carry the most load and lets you validate that the filter captured the right period.

## Running the simulation

<Steps>
  <Step title="Configure source, hours, and duration">
    Select your data source, set the hour filter, and enter the target duration in minutes.
  </Step>

  <Step title="Review the distribution chart">
    Confirm the traffic curve looks correct. Adjust the hour filter if needed.
  </Step>

  <Step title="Click Start simulation">
    FUEL begins firing orders according to the compressed timeline. Orders are dispatched with the computed inter-request delays to reproduce the original shape.
  </Step>

  <Step title="Monitor live progress">
    The progress panel shows **Sent**, **Successful**, and **Errors** counts in real time, along with an elapsed timer and a percentage-complete indicator.
  </Step>

  <Step title="Stop if needed">
    Click **Stop simulation** at any point to abort. Orders already sent are not rolled back.
  </Step>
</Steps>

<Warning>
  Stopping the simulation mid-run leaves partial data in FIRE. If you need a clean environment, cancel the injected orders using the [Cancel order](/en/fuel/cancel-order) tab before re-running.
</Warning>

## Run history

The **History** section at the bottom of the tab lists all past simulation runs. Each row shows the data source, total orders sent, successful responses, errors, and the timestamp. Use this to compare results across runs or trace regressions after a FIRE deployment.

<Tip>
  Combine the load simulator with the **Webhooks → Events Log** tab to verify that KDS and fiscal callbacks are arriving at the expected rate during peak simulation.
</Tip>
