Open-model arrival rate

Load profiles

Open-model load decouples throughput from response time: loadr starts a fixed number of iterations per second and adds VUs as needed to keep the rate. Watch dropped_iterations to catch the moment the target can't keep up.

Browse all 52 demos 12 categories
Run it
$ loadr run examples/03-arrival-rate.yaml
examples/03-arrival-rate.yaml
# Open-model load: start exactly 100 iterations per second regardless of how
# slowly the target responds. Watch `dropped_iterations` to spot saturation.
name: arrival-rate
description: constant 100 req/s open-model load

defaults:
  http:
    base_url: https://api.example.com

scenarios:
  steady_api_load:
    executor: constant-arrival-rate
    rate: 100            # iterations per time_unit
    time_unit: 1s
    duration: 10m
    pre_allocated_vus: 50
    max_vus: 200
    flow:
      - request:
          name: health
          url: /health
          assert:
            - { type: status, equals: 200 }

thresholds:
  http_req_duration: [ "p(99)<300" ]
  dropped_iterations: [ "count<10" ]

View raw: examples/03-arrival-rate.yaml

What it shows

  • constant-arrival-rate — throughput, not concurrency
  • pre_allocated_vus / max_vus bound the pool
  • dropped_iterations flags saturation

Key metrics: http_req_duration · dropped_iterations.

Load profile · constant arrival rate