Baseline
The primary throughput benchmark. Each connection sends one request at a time over persistent keep-alive connections.
Connections: 512, 4,096, 16,384
CPU limit: 64 threads (container limited to 64 CPU threads via --cpus=64)
Workload
A mix of three request types, rotated across connections:
GET /baseline11?a=13&b=42— query parameter parsing, response: sum of valuesPOST /baseline11?a=13&b=42with Content-Length body — query params + body parsingPOST /baseline11?a=13&b=42with chunked Transfer-Encoding body — chunked decoding
This exercises the full HTTP handling path: request line parsing, header parsing, query string extraction, body reading (both Content-Length and chunked), integer arithmetic, and response serialization.
Expected request/response
GET — sum of query parameters:
GET /baseline11?a=13&b=42 HTTP/1.1HTTP/1.1 200 OK
Content-Type: text/plain
55POST with body — sum of query parameters + body:
POST /baseline11?a=13&b=42 HTTP/1.1
Content-Type: text/plain
Content-Length: 2
20HTTP/1.1 200 OK
Content-Type: text/plain
75What it measures
- Raw request throughput under ideal conditions
- Full HTTP parsing pipeline performance
- Keep-alive connection handling efficiency
- How frameworks scale with increasing connection counts