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.
| Family | Rank | Composite |
|---|---|---|
| HTTP/1.1 | 3 of 4 | 110 |
| HTTP/2 | 3 of 4 | 16 |
| HTTP/3 | 2 of 2 | 13 |
Every result
Alpha Round, 20 runs. Requests per second is the best of three; latency, CPU and memory come from that run.
| Category | Profile | Conns | Req/sec | Avg | p99 | CPU | Memory |
|---|---|---|---|---|---|---|---|
| Connection | Baseline | 512 | 379,459 | 1.35ms | 36.30ms | 4707.2% | 140MiB |
| Connection | Baseline | 4,096 | 431,894 | 9.34ms | 113.50ms | 5347.6% | 249MiB |
| Connection | Pipelined | 512 | 579,133 | 14.01ms | 186.50ms | 3525.7% | 119MiB |
| Connection | Pipelined | 4,096 | 761,137 | 60.67ms | 1.75s | 4439.1% | 367MiB |
| Connection | Short-lived | 512 | 231,094 | 2.21ms | 22.40ms | 3731.8% | 78MiB |
| Connection | Short-lived | 4,096 | 237,689 | 17.01ms | 175.70ms | 3598.2% | 80MiB |
| Workload | JSON | 4,096 | 157,333 | 24.70ms | 681.90ms | 3513.2% | 281MiB |
| Workload | JSON TLS | 4,096 | 321,964 | 172.89ms | 1.99s | 5273.1% | 503MiB |
| Workload | Static | 1,024 | 214,658 | 45.16ms | 756.52ms | 5385.2% | 156MiB |
| Workload | Static | 4,096 | 245,941 | 177.30ms | 1.94s | 5625.7% | 327MiB |
| Workload | Static | 6,800 | 227,018 | 65.93ms | 1.34s | 5696.3% | 436MiB |
| Workload | Static TLS | 1,024 | 159,177 | 65.68ms | 1.17s | 5654.9% | 166MiB |
| Workload | Static TLS | 4,096 | 175,005 | 284.60ms | 1.98s | 5817.9% | 358MiB |
| Workload | Static TLS | 6,800 | 173,965 | 78.56ms | 2.00s | 5964.4% | 492MiB |
| HTTP/2 | Baseline | 256 | 374,793 | 66.05ms | 856.18ms | 5204.7% | 446MiB |
| HTTP/2 | Baseline | 1,024 | 403,024 | 173.96ms | 4.36s | 5502.0% | 1.5GiB |
| HTTP/2 | Static | 256 | 116,371 | 66.61ms | 2.99s | 6180.1% | 932MiB |
| HTTP/2 | Static | 1,024 | 113,428 | 195.18ms | 4.80s | 6198.0% | 2.3GiB |
| HTTP/3 | Baseline | 64 | 360,511 | 9.90ms | 34.00ms | 3328.0% | 177MiB |
| HTTP/3 | Static | 64 | 22,218 | 181.56ms | 917.62ms | 896.7% | 617MiB |
How the benchmark is run · The machine · Add or fix an entry