Test Profiles

HttpArena runs every framework through multiple benchmark profiles. Each profile isolates a different performance dimension, ensuring frameworks are compared fairly across varied workloads.

Your framework must implement endpoints depending on which test profiles it participates in. All HTTP/1.1 endpoints are served on port 8080. HTTPS/H2/H3 endpoints are served on port 8443.

Each profile is run at multiple connection counts to show how frameworks scale under increasing concurrency.

Benchmark parameters

ParameterValue
Threads12
Duration5s
Runs3 (best taken)
NetworkingDocker --network host

Data mounts

Data files are mounted automatically by the benchmark runner — your Dockerfile does not need to include them. The following paths are available inside the container at runtime:

PathDescription
/data/dataset.json50-item dataset for /json
/data/dataset-large.json6000-item dataset for /compression
/data/benchmark.dbSQLite database (100K rows) for /db
/data/static/20 static files for /static/*
/certs/server.crt, /certs/server.keyTLS certificate and key for HTTPS/H2/H3
DATABASE_URL env varPostgres connection string for /async-db (set automatically when async-db profile runs)