Browse docs
--- title: "Benchmark Setup" description: "Run reproducible Aurora vs Bifrost side-by-side benchmarks using oha or the official benchmark binary." icon: "gauge" ---
Overview
The benchmark suite in scripts/ lets you compare Aurora against Bifrost (and optionally LiteLLM) on the same machine with identical request load. All gateways forward to a shared mock OpenAI-compatible backend so the test measures gateway overhead, not provider latency.
Two load-generator modes are available:
- oha mode (default when
ohais installed) — concurrency-based load, no rate limiting, tests max throughput - Official benchmark mode — rate-controlled load using the
maximhq/bifrost-benchmarkingGo binary
Prerequisites
The benchmark script auto-detects oha on PATH. If present it runs in oha mode unless -OhaMode:$false is passed.
Scripts
All benchmark scripts live under scripts/benchmarks/:
Quick Start
Run a smoke test (500 req/s for 30s) to verify everything works:
.\scripts\run-benchmark.ps1 -Mode smoke -NoWindowThis runs Bifrost then Aurora, each handling 15,000 requests against the mock server. Results land in bench-results/bifrost-side-by-side/.
Modes
Running a Throughput Test (oha Mode)
oha sends requests at maximum speed without rate limiting — good for finding the real throughput ceiling.
.\scripts\run-benchmark.ps1 -Mode custom -Rate 10000 -Duration 10 -NoWindow -OhaMode -OhaRequests 100000 -OhaConcurrency @(100, 300, 500)This sends 100,000 requests at each concurrency level to each gateway (600,000 total).
Concurrency Levels
Running a Rate-Limited Test (Official Benchmark)
Uses the benchmark.exe binary from maximhq/bifrost-benchmarking. This mode provides detailed per-gateway metrics with delta comparison.
.\scripts\run-benchmark.ps1 -Mode custom -Rate 1000 -Duration 60 -NoWindowThe comparison JSON includes throughput, latency percentiles, memory usage, and pprof profiles.
Protocol Notes
The benchmark applies HTTP/1.1 load to both gateways for fair comparison:
- Bifrost receives HTTP/1.1 requests (its standard mode)
- Aurora receives HTTP/1.1 requests at the load-generator level
- Aurora's upstream (to mock server) uses h2c (HTTP/2 cleartext) — this is its production default and provides better throughput via connection multiplexing
Understanding the Output
oha Mode Summary
bifrost c=500 → 11408 req/s 100% success avg=43.6 ms p50=37.1 ms p99=142.6 ms
aurora c=500 → 7517 req/s 100% success avg=66.0 ms p50=63.7 ms p99=131.4 msKey fields:
- req/s — throughput achieved at that concurrency
- success — percentage of HTTP 200 responses
- p50/p99 — median and tail latency
Official Benchmark Comparison
When using the official benchmark binary (non-oha mode), a detailed comparison JSON and summary table is generated:
Metric Bifrost Aurora Delta
----------------------------------------------------------------------------------------
Throughput (req/s) 500.03 500.03 0.00
Mean latency (ms) 0.46 1.04 0.59
P50 latency (ms) 0.03 0.51 0.47
P99 latency (ms) 5.02 19.04 14.02
Peak memory (MB) 144.88 52.45 -92.43Interpreting Aurora vs Bifrost Differences
Interpreting pprof Profiles
Aurora captures CPU, heap, trace, and goroutine pprof profiles during the benchmark:
bench-results/bifrost-side-by-side/<timestamp>.aurora.cpu.pprof
bench-results/bifrost-side-by-side/<timestamp>.aurora.heap.pprofAnalyze them with:
go tool pprof -top -seconds 0 <path>.cpu.pprof
go tool pprof -top -alloc_space <path>.heap.pprof
go tool pprof -top -inuse_space <path>.heap.pprofCommon Hotspots
Typical Results
Low Concurrency (500 req/s rate-limited)
High Concurrency (oha, c=500)
Extreme Concurrency (oha, c=1000)
Aurora maintains 100% success rate while Bifrost starts dropping connections:
Troubleshooting
Reference
- [
scripts/benchmarks/README.md](https://github.com/aurorallm/aurora-enterprise/tree/main/scripts/benchmarks/README.md) — technical details on benchmark modules - [
docs/benchmarks/BIFROST_SIDE_BY_SIDE_BENCHMARKS.md](https://github.com/aurorallm/aurora-enterprise/tree/main/docs/benchmarks/BIFROST_SIDE_BY_SIDE_BENCHMARKS.md) — detailed methodology and historical results - [
/docs/about/benchmarks](/docs/about/benchmarks) — summary of published Aurora benchmark data