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.
Achievements
🥉 1 Bronze. Top three of a field, taken in this entry's own league: the family composite, the same composite among entries written in the same language, and each test profile it is scored on. Every field is the one the badges publish, so a medal and a badge always say the same thing. How medals are awarded.
| Medal | Award | Field | Rank |
|---|---|---|---|
| 🥉 Bronze | Test profile | HTTP/2 · Baseline | 3 of 4 |
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, less 2.5% for each of routing, middleware, request and response the entry does not do for you - its completeness factor, which the WebSocket and gRPC families do not carry. 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 | 4 of 5 | 828 |
| HTTP/2 | 4 of 4 | 168 |
| HTTP/3 | 2 of 2 | 136 |
Every result
Alpha Round, 11 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 | 4,096 | 431,894 | 9.34ms | 113.50ms | 5347.6% | 249MiB |
| Connection | Pipelined | 4,096 | 761,137 | 60.67ms | 1.75s | 4439.1% | 367MiB |
| Connection | Short-lived | 4,096 | 237,689 | 17.01ms | 175.70ms | 3598.2% | 80MiB |
| Workload | JSON TLS | 4,096 | 321,964 | 172.89ms | 1.99s | 5273.1% | 503MiB |
| Workload | Static TLS | 1,024 | 159,177 | 65.68ms | 1.17s | 5654.9% | 166MiB |
| 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 |
Compared with
The Go entries around caddy on the HTTP/1.1 composite, and the one leading them. The last column shows every profile side by side.
| Entry | Composite | vs caddy | |
|---|---|---|---|
| fiber-tuned | 6462 | +680% | head to head |
| chi | 2242 | +171% | head to head |
| go-stdlib | 1912 | +131% | head to head |
Compare caddy with any Go entry · Compare caddy with any entry, in any language · Every Go entry, ranked
Results updated · How the benchmark is run · The machine · Add or fix an entry