hitspec includes a built-in stress testing engine. Use the same .http files you write for functional tests to run load tests — no separate tool needed.
Quick Start
Two Modes
Rate Mode (default)
Sends requests at a fixed rate (requests per second):
Virtual User Mode
Simulates concurrent users, each sending requests sequentially with optional think time:
Ramp-Up
Gradually increase load instead of starting at full capacity:
This takes 30 seconds to ramp from 0 to 200 req/s, then sustains 200 req/s for the remaining 4m30s.
Thresholds
Set pass/fail criteria based on performance metrics:
If any threshold is exceeded, hitspec exits with code 1.
Available threshold metrics:
p50 — 50th percentile latency
p95 — 95th percentile latency
p99 — 99th percentile latency
errors — Error rate percentage
Stress Profiles
Define reusable profiles in hitspec.yaml:
Use a profile:
CLI flags override profile values.
Multiple Files
Stress test across multiple files:
Or an entire directory:
Output
Real-time Progress
By default, hitspec shows a live progress bar with current RPS, latency, and error count. Disable with --no-progress.
JSON Output
Metrics Export
Export to Prometheus, DataDog, or JSON for dashboards:
See Metrics Export for details.
CI/CD Integration
The exit code indicates whether thresholds passed:
0 — all thresholds met
1 — one or more thresholds exceeded
Last modified on February 10, 2026