# 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" ]
