HTTP framework benchmark platform.
23 test profiles. 64-core dedicated hardware. Same conditions for every framework.
View Leaderboard | Documentation | Add a Framework
Tag @BennyFranciscus on your PR for help with implementation or benchmark questions.
| Command | Description |
|---|---|
/validate -f <framework> |
Run the 18-point validation suite |
/benchmark -f <framework> |
Run all benchmark tests |
/benchmark -f <framework> -t <test> |
Run a specific test |
/benchmark -f <framework> --save |
Run and save results (updates leaderboard on merge) |
/benchmark -f <framework> -t <test> --save |
Run specific test and save results |
Always specify -f <framework>. Results are automatically compared against the current leaderboard.
| Category | Profiles | Description |
|---|---|---|
| Connection | Baseline (512-4K), Pipelined, Limited | Performance scaling with connection count |
| Workload | JSON, Compression, Upload, Sync DB (SQLite), Async DB (Postgres) | Serialization, gzip, streaming I/O, database queries |
| Multi-endpoint | Mixed, API-4, API-16, Assets-4, Assets-16 | Concurrent endpoints, resource-constrained, asset serving with conditional compression |
| Resilience | Noisy, TCP Fragmentation | Malformed requests, MTU 69 fragmentation stress |
| Protocol | HTTP/2, HTTP/3, gRPC, WebSocket | Multi-protocol support |
git clone https://github.com/MDA2AV/HttpArena.git
cd HttpArena
./scripts/validate.sh <framework> # correctness check
./scripts/benchmark.sh <framework> # all profiles
./scripts/benchmark.sh <framework> baseline # specific profile
./scripts/benchmark.sh <framework> --save # save results- Add a new framework
- Improve an existing implementation — open a PR modifying files under
frameworks/<name>/ - Open an issue
- Comment on any open issue or PR
Add your GitHub username to the maintainers array in your framework's meta.json to get notified when someone opens a PR that touches your framework:
"maintainers": ["your-github-username"]