HttpArena
Frameworks

caddy

Infrastructure · Go

Caddy with custom Go handler modules compiled in via xcaddy: httparena for /baseline11 and /baseline2, httparena_json for /json/{count}, serializing the JSON body per request from the dataset read at provision time. Native file_server for /static. HTTP/1.1 on :8080, h1 over TLS 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.13 of 4110
HTTP/23 of 416
HTTP/32 of 213

Every result

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

CategoryProfileConnsReq/secAvgp99CPUMemory
ConnectionBaseline512379,4591.35ms36.30ms4707.2%140MiB
ConnectionBaseline4,096431,8949.34ms113.50ms5347.6%249MiB
ConnectionPipelined512579,13314.01ms186.50ms3525.7%119MiB
ConnectionPipelined4,096761,13760.67ms1.75s4439.1%367MiB
ConnectionShort-lived512231,0942.21ms22.40ms3731.8%78MiB
ConnectionShort-lived4,096237,68917.01ms175.70ms3598.2%80MiB
WorkloadJSON4,096157,33324.70ms681.90ms3513.2%281MiB
WorkloadJSON TLS4,096321,964172.89ms1.99s5273.1%503MiB
WorkloadStatic1,024214,65845.16ms756.52ms5385.2%156MiB
WorkloadStatic4,096245,941177.30ms1.94s5625.7%327MiB
WorkloadStatic6,800227,01865.93ms1.34s5696.3%436MiB
WorkloadStatic TLS1,024159,17765.68ms1.17s5654.9%166MiB
WorkloadStatic TLS4,096175,005284.60ms1.98s5817.9%358MiB
WorkloadStatic TLS6,800173,96578.56ms2.00s5964.4%492MiB
HTTP/2Baseline256374,79366.05ms856.18ms5204.7%446MiB
HTTP/2Baseline1,024403,024173.96ms4.36s5502.0%1.5GiB
HTTP/2Static256116,37166.61ms2.99s6180.1%932MiB
HTTP/2Static1,024113,428195.18ms4.80s6198.0%2.3GiB
HTTP/3Baseline64360,5119.90ms34.00ms3328.0%177MiB
HTTP/3Static6422,218181.56ms917.62ms896.7%617MiB

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