Skip to content

Goals and scope

test-scale lets engineering teams generate realistic, distributed HTTP load against a target on demand, without manually provisioning load generators. Every run produces a durable report you can compare to earlier runs of the same plan.

  • Scale worker count to match requested target_rps automatically.
  • Support traffic shapes: constant, ramp, step, and spike patterns.
  • Expose live throughput, latency percentiles, error rate, and worker count.
  • Cost nothing when idle — workers scale down after runs complete.
  • Enable regression testing via saved plans and run comparison.
Not in scope Why
Continuous synthetic monitoring Runs are explicit, not always-on
Chaos / fault injection External observation only
In-target APM Measures latency/errors from the client side
Multi-step user journeys One HTTP request per plan
Browser rendering HTTP only
  • Backend / platform engineers validating services before launch or traffic events.
  • SRE / performance engineers using load tests as release gates.
  1. Define and submit a test plan (YAML or UI).
  2. Watch live metrics during the run.
  3. Stop early if needed.
  4. Review the report and compare to a baseline slug.
  5. Re-run a saved plan unchanged to detect regressions.
ID Requirement
FR1 Define target, protocol, ramp, duration
FR2 Distribute load across workers
FR3 Auto-scale workers to requested load
FR4 Live metrics during runs
FR5 Stop running tests
FR6 Persist reports
FR7 Compare two reports
FR8 Re-submit saved plans
FR9 Target ownership verification (when enabled)
FR10 Pre-run cost estimate (where configured)

The control plane serves an embedded UI (default port 8080):

Area Capabilities
Submit New or saved plan, auth, body, SLO fields, cost estimate
Runs Live table, stop, re-run, dashboard link
Compare Side-by-side metrics and regression hints
Dashboard Embedded Grafana with run picker

Full guide: Web UI. CLI parity: CLI reference.

  • Sustains target throughput for the configured duration without the platform becoming the bottleneck (when workers are sized honestly).
  • Live metrics lag reality by only a few seconds.
  • Workers reach desired count before or early in the ramp — no slow drift.

Future topics (multi-tenancy, gRPC, geo workers) remain open; see the repository roadmap and CHANGELOG.