Configuration

The Dashboard panel for a spec is organized into two side-by-side cards: Virtual Users on the left and Duration on the right. Together they define the VU profile for the currently selected test type.

Virtual Users

A Virtual User (VU) is a simulated client running the spec's entire step sequence in a loop. All VUs run concurrently, each respecting think-time delays between steps.

FieldRangePurpose
VUs1 – 5000Target number of parallel simulated users during the sustain phase
Ramp Up (s)0 – 300Time to linearly increase active VUs from 0 to the target
Ramp Down (s)0 – 300Time to linearly decrease active VUs from target back to 0 for a graceful shutdown
Think Time Min (ms)0 – 10000Minimum wait a VU inserts between consecutive steps
Think Time Max (ms)0 – 10000Maximum wait; each VU picks a random value between min and max on every hop
Request Timeout (s)1 – 120Per-request timeout; requests exceeding this are recorded as timeout errors

Random think time is realistic: picking a random value between min and max on each hop prevents a synthetic wave of requests where every VU fires in lockstep. If you want zero delay, set both min and max to 0.

Duration

The Duration card has a Time-based / Iteration-based toggle at the top. The fields below change depending on which mode you pick.

Time-based

VUs keep running the scenario repeatedly until the total duration is up.

  • Duration (s): 1 – 3600

Iteration-based

Each VU runs the scenario a fixed number of times and then stops. The test ends when the last VU finishes.

  • Iterations per VU: 1 – 10000

Ramp vs. duration: in Time-based mode, if rampUp + rampDown exceeds duration, the UI surfaces a red warning and the sustain phase is skipped. The runner still executes ramp-up and ramp-down, but there's no hold period in between.

Rate Limit

Below the Duration fields is a toggle for Rate Limit (req/s). When enabled, the runner paces the aggregate request rate across all VUs so it never exceeds the configured value. VUs wait for available capacity before sending the next request.

Range: 1 – 10000 requests per second

Default: disabled — VUs fire as fast as think-time allows

When to enable: if the target API enforces its own rate limit and you want to stay under it, or if you're benchmarking at a specific throughput (e.g. 500 req/s sustained) rather than a specific VU count.

All Limits at a Glance

Every numeric input is clamped to a hard range — values outside are automatically corrected on blur.

  • MAX_VIRTUAL_USERS = 5000
  • MAX_DURATION_SECONDS = 3600
  • MAX_ITERATIONS = 10000
  • MAX_RATE_LIMIT = 10000
  • MAX_TIMEOUT_SECONDS = 120