HTTP/1.1 Test Profiles
Every HTTP/1.1 profile measures one thing at a time, so a number can be attributed to a single part of the framework rather than to a mix.
BaselinePrimary throughput benchmark with persistent keep-alive connections and mixed GET/POST workload.Short-lived ConnectionConnections closed after 10 requests, measuring TCP handshake and connection setup overhead.JSON CompressedSame JSON workload with Accept-Encoding: gzip, br and a multiplier parameter - measures serialization plus compression throughput.JSON over TLSSame JSON workload transported over HTTP/1.1 + TLS on port 8081 - measures the cost of encryption on top of serialization.8Gbit (10 KB echo)Posts 10 KB over TLS at a fixed rate and requires it back verbatim - the only profile that loads ingest and egress at once.Async DelayA 10ms wait named in the route, at 32K held connections - measures what the framework does while a request waits.Latency-10KLatency-1M's setup at a near-idle 10K req/s; the metric is the CPU and latency of a server with almost nothing to do.Latency-1MOne million req/s offered at a fixed rate; the metric is the CPU each framework spends to serve it, read exactly from its cgroup.Latency-500K/8 *500K req/s pinned with the server on four cores plus their SMT siblings - near saturation, so the queue a server builds shows in its mean latency. Reference-only while the first entries are measured.Async Database (Postgres)Async Postgres range query over 100K rows, connection pooling, and JSON serialization. Framework-only benchmark.Static Files over TLSSame 20-file static workload transported over HTTP/1.1 + TLS on port 8081 - measures the cost of encryption on bulk file serving.Pipelined (16x) *16 requests sent back-to-back per connection, testing raw I/O and pipeline batching. Reference-only - not part of the composite score.Fortunes (Templates) *DB query + HTML template rendering with auto-escape. Reference-only - measures template-engine throughput, not part of the composite score.