HttpArena
Frameworks

nginx

Infrastructure · C

Nginx with a custom C handler module, compiled with -O3 -march=native. The module answers /baseline11, /baseline2 and /json/{count}, serializing the JSON body per request from the dataset parsed at worker startup; /static/* is served by nginx core's sendfile path. TLS via quictls: HTTP/1.1 on :8081, h2 and h3 on :8443.

Composite rank

Each profile of a family is worth 100 to the entry that leads it, and the composite is the sum over the family. The field is this entry's own league: engines and reverse proxies are scored apart from frameworks. How it works.

FamilyRankComposite
HTTP/1.11 of 4678
HTTP/22 of 4122
HTTP/31 of 2200

Every result

Alpha Round, 20 runs. Requests per second is the best of three; latency, CPU and memory come from that run.

CategoryProfileConnsReq/secAvgp99CPUMemory
ConnectionBaseline5123,065,381166us2.22ms6613.0%3.5GiB
ConnectionBaseline4,0963,346,6981.22ms6.77ms6443.6%3.5GiB
ConnectionPipelined5124,111,7151.99ms8.32ms6586.6%3.5GiB
ConnectionPipelined4,0964,073,67316.07ms35.40ms6400.0%3.5GiB
ConnectionShort-lived5122,279,316210us1.37ms6281.3%3.5GiB
ConnectionShort-lived4,0962,635,7621.51ms6.73ms6371.8%3.5GiB
WorkloadJSON4,0961,810,0411.73ms8.73ms6472.8%3.5GiB
WorkloadJSON TLS4,0961,430,1253.04ms53.50ms6426.1%3.6GiB
WorkloadStatic1,0241,144,5031.41ms31.18ms6615.8%3.5GiB
WorkloadStatic4,0961,141,7133.70ms29.67ms6546.7%3.5GiB
WorkloadStatic6,8001,155,1305.95ms32.24ms6443.7%3.5GiB
WorkloadStatic TLS1,024749,2071.82ms41.38ms6588.4%3.5GiB
WorkloadStatic TLS4,096729,0835.68ms86.98ms6557.0%3.6GiB
WorkloadStatic TLS6,800696,5559.90ms165.70ms6428.5%3.7GiB
HTTP/2Baseline2563,509,9296.00ms46.41ms6442.2%3.5GiB
HTTP/2Baseline1,0243,422,28426.67ms149.24ms6294.6%3.5GiB
HTTP/2Static256820,23010.29ms57.92ms6598.5%3.5GiB
HTTP/2Static1,024812,79638.69ms188.44ms6336.7%3.5GiB
HTTP/3Baseline644,916,244818us1.48ms3047.7%3.5GiB
HTTP/3Static64382,39711.28ms35.79ms5330.2%3.6GiB

How the benchmark is run · The machine · Add or fix an entry