h2o-mruby
Flagship · Ruby · engine: h2o · tuned configuration · completeness 3/4
h2o config-based server with mruby handlers and native HTTP/3 (QUIC) support.
Achievements
🥇 1 Gold · 🥈 3 Silver. 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 |
|---|---|---|---|
| 🥇 Gold | Within its language | Ruby · HTTP/1.1 | 1 of 6 |
| 🥈 Silver | Family composite | Composite · HTTP/3 | 2 of 11 |
| 🥈 Silver | Test profile | HTTP/3 · Baseline | 2 of 11 |
| 🥈 Silver | Test profile | HTTP/3 · Static | 2 of 11 |
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 | 29 of 93 | 3350 |
| HTTP/2 | 13 of 28 | 890 |
| HTTP/3 | 2 of 11 | 1713 |
Every result
Alpha Round, 17 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 | 1,531,028 | 665us | 989us | 6140.5% | 141MiB |
| Connection | Pipelined | 4,096 | 2,511,269 | 6.51ms | 9.45ms | 6323.6% | 146MiB |
| Connection | Short-lived | 4,096 | 578,704 | 6.89ms | 55.30ms | 4308.3% | 149MiB |
| Concurrency | Async Delay | 32,000 | 106,191 | 9.59ms | 10.00ms | 306.4% | 211MiB |
| Efficiency | Latency-10K | 1,024 | 9,982 | 84.8us | 140.0us | 39.4% | 130MiB |
| Efficiency | Latency-1M | 1,024 | 997,405 | 173.9us | 373.0us | 4032.9% | 153MiB |
| Efficiency | Latency-500K/8 | 1,024 | 248,623 | 5004296.3us | 9957376.0us | 779.2% | 57MiB |
| Workload | JSON Comp | 4,096 | 75,742 | 49.66ms | 1.04s | 6451.4% | 293MiB |
| Workload | JSON Comp | 16,384 | 73,948 | 110.99ms | 3.66s | 6448.1% | 293MiB |
| Workload | JSON TLS | 4,096 | 140,687 | 7.00ms | 35.43ms | 6286.5% | 289MiB |
| Workload | 8Gbit | 512 | 49,204 | 92.4us | 172.0us | 260.9% | 305MiB |
| HTTP/2 | Baseline | 256 | 3,961,009 | 6.64ms | 6.64ms | 6255.8% | 167MiB |
| HTTP/2 | Baseline | 1,024 | 3,846,646 | 26.92ms | 26.92ms | 6158.5% | 199MiB |
| HTTP/2 | Static | 256 | 387,730 | 21.48ms | 21.48ms | 6186.2% | 184MiB |
| HTTP/2 | Static | 1,024 | 366,464 | 84.91ms | 84.91ms | 5973.3% | 445MiB |
| HTTP/3 | Baseline | 64 | 3,042,433 | 1.19ms | 2.57ms | 3513.3% | 144MiB |
| HTTP/3 | Static | 64 | 252,307 | 17.85ms | 39.47ms | 4067.8% | 368MiB |
Compared with
The Ruby entries around h2o-mruby on the HTTP/1.1 composite, and the one leading them. The last column shows every profile side by side.
| Entry | Composite | vs h2o-mruby | |
|---|---|---|---|
| roda | 1305 | -61% | head to head |
| rage | 1257 | -62% | head to head |
Compare h2o-mruby with any Ruby entry · Compare h2o-mruby with any entry, in any language · Every Ruby entry, ranked
Results updated · How the benchmark is run · The machine · Add or fix an entry