Deployment Guides / Configuration & Monitoring
Benchmark Setup
Run reproducible multi-gateway benchmarks comparing Aurora against Kong, APISIX, Bifrost, Helicone, Portkey, and LiteLLM.
Browse docs
Overview
The benchmark suite in scripts/ lets you compare Aurora against six other AI gateways 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:
- Rate-limited mode (default) — uses
aurora-bench-clito sustain a fixed requests-per-second target for a set duration - oha mode — concurrency-based load, no rate limiting, tests max throughput under connection pressure
Prerequisites
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 Aurora alone, handling 15,000 requests against the mock server. Results land in bench-results/.
Modes
To run the full seven-gateway comparison:
.\scripts\run-benchmark.ps1 -Mode publish -NoWindowThis runs each gateway in sequence (Aurora, APISIX, Bifrost, Helicone, Kong, LiteLLM, Portkey), each at 5,000 req/s for 60s. The comparison JSON includes throughput, latency percentiles, and allocation metrics.
Running individual gateways
You can run individual gateways by passing the -Gateways parameter:
.\scripts\run-benchmark.ps1 -Mode custom -Rate 1000 -Duration 30 -Gateways @("aurora", "kong")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)Concurrency Levels
Protocol Notes
The benchmark applies HTTP/1.1 load to all gateways for fair comparison:
- Aurora receives HTTP/1.1 requests but uses h2c (HTTP/2 cleartext) for its upstream connection to the mock server — this is its production default and provides better throughput via connection multiplexing
- Kong, APISIX, Bifrost, Helicone, Portkey, LiteLLM — each uses its own upstream transport (HTTP/1.1 or HTTP/2 depending on the gateway)
Understanding the Output
Rate-Limited Mode Comparison
When using the official benchmark binary (default), a detailed JSON comparison and summary table is generated:
Metric Aurora Kong Delta
---------------------------------------------------------------------------
Throughput (req/s) 4,986 4,833 +153
Success rate (%) 100.00 99.87 +0.13
P50 latency (ms) 17.7 39.2 -21.5
P99 latency (ms) 47.2 98.0 -50.8
P999 latency (ms) 97.2 145.6 -48.4
Allocs/op 72.2 80.0 -7.8
Bytes/op 5,945 6,505 -560Interpreting Gateway Differences
Interpreting pprof Profiles
Aurora captures CPU, heap, trace, and goroutine pprof profiles during the benchmark:
bench-results/<gateway>/<timestamp>.aurora.cpu.pprof
bench-results/<gateway>/<timestamp>.aurora.heap.pprof
Analyze 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
Rate-Limited (5,000 req/s)
High Concurrency (oha, c=500)
Coming in a future benchmark run.
Troubleshooting
Reference
scripts/benchmarks/README.md— technical details on benchmark modules/docs/about/benchmarks— summary of published Aurora benchmark datacmd/bench/— rate-limited benchmark CLI sourcescripts/benchmarks/mock-server/main.go— mock OpenAI-compatible backend