Skip to content

roadrunner: update to v0.9.2 - #1432

Merged
MDA2AV merged 2 commits into
MDA2AV:mainfrom
williamthome:entries/roadrunner-0.9.2
Sep 3, 2026
Merged

roadrunner: update to v0.9.2#1432
MDA2AV merged 2 commits into
MDA2AV:mainfrom
williamthome:entries/roadrunner-0.9.2

Conversation

@williamthome

Copy link
Copy Markdown
Contributor

Description

Updates roadrunner to v0.9.2, which stops idle keep-alive connections from waking on a timer to poll for a graceful-drain message.


PR Commands — comment on this PR to trigger (requires collaborator approval):

Command Description
/benchmark -f <framework> Run every test the framework subscribes to
/benchmark -f <framework> -t <test> Run one test only
/benchmark -f <framework> --save Run and save results (updates the leaderboard on merge)
/benchmark -f <framework> -t <test> --save Run one test and save results
/benchmark -f <framework> --compare <other> Measure the deltas against another framework instead of this one
/benchmark-multiple -f <fw1>,<fw2>,... Benchmark several frameworks in one run — takes -t and --save too; saved results land in a single commit
/benchmark-multiple --save No -f needed: benchmark and save every framework the PR touches
/benchmark-test -t <test> Benchmark all enabled frameworks subscribed to <test> and save the results

For /benchmark, always specify -f <framework>; the flags combine in any order. Results come back as a comment with a per-profile table of RPS, p99, CPU and memory — one table per framework on multi runs. A new benchmark comment while a run is in flight queues behind it (one deep) instead of cancelling it. For multi-framework PRs (dependency bumps, same-language refactors) prefer /benchmark-multiple, which runs everything in a single job and commits all saved results together, so no run overwrites another. --compare works on single-framework runs only.

What the deltas are measured against. By default, this framework's own results published on main - answering "did this change help?". When you are tuning a variant or a successor entry, --compare re-bases them on another entry instead:

/benchmark -f genhttp --compare genhttp-kestrel

The reply states which baseline it used, and profiles the other framework does not run show n/a rather than a delta.


Run benchmarks locally

You can validate and benchmark your framework locally with the lite script — no CPU pinning, fixed connection counts, all load generators run in Docker.

./scripts/validate.sh <framework>
./scripts/benchmark-lite.sh <framework> baseline
./scripts/benchmark-lite.sh --load-threads 4 <framework>

Requirements: Docker Engine on Linux. Load generators (gcannon, h2load, h2load-h3, wrk) are built as self-contained Docker images on first run.

@williamthome

Copy link
Copy Markdown
Contributor Author

/benchmark -f roadrunner

@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

👋 Benchmark request received. A collaborator will review and approve the run.

@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

Benchmark Results

Framework: roadrunner | Test: all tests

Test Conn RPS Rate CPU/req p99 p99.9 CPU Mem Δ RPS Δ Mem
baseline 4096 1,005,156 6441.4% 346MiB +5.5% +3.0%
pipelined 4096 4,201,110 6371.6% 374MiB ~0% +7.5%
limited-conn 4096 429,378 5457.9% 340MiB -2.2% +6.9%
json-comp 4096 108,984 6428.8% 902MiB +8.8% +12.6%
json-comp 16384 96,220 6064.3% 934MiB -7.6% +2.8%
json-tls 4096 154,677 6378.1% 992MiB -7.9% -1.3%
8gbit 512 48,528 0.9706 ⚠️ 379.73us 2175.0us 10212.0us 1682.3% 502MiB +0.2% +1.0%
static-tls 1024 89,036 5794.4% 673MiB +2.4% +3.1%
async-db 1024 123,599 6392.3% 811MiB -0.5% -0.7%
fortunes 1024 64,905 6304.4% 1.0GiB +3.1% +1.4%
baseline-h2 256 460,919 6438.0% 395MiB +2.0% +13.5%
baseline-h2 1024 467,768 6434.5% 448MiB +2.8% -1.8%
static-h2 256 89,635 5641.9% 454MiB +5.7% +3.2%
static-h2 1024 78,677 5734.5% 952MiB -1.2% +1.8%
baseline-h2c 256 767,049 6594.9% 259MiB +2.4% +0.8%
baseline-h2c 1024 746,934 6623.8% 293MiB +3.5% +2.8%
baseline-h2c 4096 645,418 6350.7% 394MiB +2.5% -2.7%
json-h2c 1024 101,935 4097.5% 987MiB +1.8% +6.0%
json-h2c 4096 103,172 3923.8% 1.7GiB +0.3% ~0%
baseline-h3 64 107,554 5237.9% 412MiB +5.9% -5.9%
static-h3 64 13,666 5096.0% 679MiB -5.8% -12.2%
echo-ws 512 426,951 5140.8% 213MiB -26.2% -1.4%
echo-ws 4096 1,582,476 6693.7% 428MiB +1.6% +18.9%
echo-ws 16384 1,488,384 6221.3% 436MiB +1.0% +19.8%
echo-ws-pipeline 512 9,853,312 6413.2% 258MiB +0.3% +13.2%
echo-ws-pipeline 4096 9,284,896 6558.3% 352MiB +1.1% -3.0%
echo-ws-pipeline 16384 9,395,798 6501.8% 418MiB +2.1% -2.8%
echo-ws-limited 512 345,891 5170.4% 340MiB -2.3% -2.6%
echo-ws-limited 4096 347,421 5059.3% 341MiB -4.1% -0.9%
latency-1m 1024 968,904 0.9689 ⚠️ 65.14us 1519104.0us 2051584.0us 6490.7% 291MiB +1.2% +7.8%
latency-10k 1024 9,979 0.9979 152.62us 156.0us 14164.0us 149.4% 193MiB ~0% -3.5%
async 32000 974,789 6090.0% 729MiB +0.3% +12.0%
Full log
  "achieved_rate": 964256.25,
  "target_rate": 1000000,
  "target_rate_end": 1000000,
  "rate_ratio": 0.9643,
  "bytes_per_sec": 112835869.51,
  "error_rate": 0.000000,
  "max_schedule_lag_us": 3149367,
  "latency_us": {
    "min": 72, "mean": 464330.9, "stdev": 416077.4, "max": 3151871,
    "p50": 363904, "p75": 666880, "p90": 1032960, "p99": 1822208, "p99_9": 2481152, "p99_99": 2937856
  },
  "status_codes": { "1xx": 0, "2xx": 19291639, "3xx": 0, "4xx": 0, "5xx": 0 },
  "errors": { "connect": 0, "read": 0, "write": 0, "timeout": 0, "deadline": 0, "non_2xx_3xx": 0 },
  "latency_histogram": "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"
}
[info] CPU 6504.4% | Mem 298MiB
[info] run 2 wins on score

=== Best: 968904 req/s (CPU: 6490.7%, Mem: 291MiB) ===
[info] exact CPU: 1262.78 core-seconds | 65.142 us/req
=== Fixed-rate: cpu/req 65.14us | p99 1519104.0us | p99.9 2051584.0us | rate_ratio 0.9689 ===
[warn] offered rate fell short: rate_ratio=0.9689 (target 1000000/s)
[warn]   the CPU number is not comparable with runs that held the rate
[info] saved results/latency-1m/1024/roadrunner.json
httparena-bench-roadrunner
httparena-bench-roadrunner

==============================================
=== roadrunner / latency-10k / 1024c (tool=zrk) ===
==============================================
[info] waiting for server...
[info] server ready

[run 1/3]
{
  "zrk_version": "2.3.0",
  "target": { "url": "http://localhost:8080/baseline11?a=1&b=2", "method": "GET" },
  "config": { "connections": 1024, "launched": 1024, "duration_s": 20.000, "closed": false, "target_rate": 10000, "timeout_ms": 2000, "deadline_ms": 0, "deadline_abort": false, "record_timeouts": true },
  "duration_s": 20.003,
  "requests": 199619,
  "bytes": 23355423,
  "achieved_rate": 9979.49,
  "target_rate": 10000,
  "target_rate_end": 10000,
  "rate_ratio": 0.9979,
  "bytes_per_sec": 1167600.91,
  "error_rate": 0.000000,
  "max_schedule_lag_us": 0,
  "latency_us": {
    "min": 46, "mean": 116.2, "stdev": 927.6, "max": 47295,
    "p50": 77, "p75": 90, "p90": 107, "p99": 156, "p99_9": 14164, "p99_99": 37328
  },
  "status_codes": { "1xx": 0, "2xx": 199619, "3xx": 0, "4xx": 0, "5xx": 0 },
  "errors": { "connect": 0, "read": 0, "write": 0, "timeout": 0, "deadline": 0, "non_2xx_3xx": 0 },
  "latency_histogram": "HISTFAAAAzl4nC1STWhUVxR+97vn/eXNTDKTTCYTkzjRCTGxQcZgtf7GSChalRYhMvYHDBZRbEGkdeGibYi6KEpQQRAZRGJoA0oRDYMLF6mKi1QlyFBCUAlZCO2iuCgIIfjdO3mX9945537nO98597aMXK53HBlwqo9e/ivrXD7v7PivGvgSnteU3zP4syqpGVXWk+7/4Vj99Vxpw9P+8S/GitPfjB15eeTm4fmvF4qjxZcHbx6aKp77qlJcHKwcWPx8dveNgZG+R1snNk18/Kx3fN3SR6Weha7xNVMd5fzoqju5+banLQvND7KXsvea7mYmG981/N2wmLqTKtVdrJuunU28is/FytFMdC8q1zwLy8FoMOZf8yveQ++G985dkml5IKNyVw/LsJ7Ub/Q8pjGLf/EEM6hgChO4jhKu4Df1Vs2pJ+oPNateqIp6qCbUuBpRPw6rE8e/Hxra37+9r2/v/r3923ObG7rX53O5fFNLW1t3S747kUo1NjQ2B41eKhEkPC9VE6tLBEEsVtMcC0S8QAKnRoJAPE9EtAcPDiAeXBFHIK4HXyIRF2Y50ODHsYbGaqCeqx1nFb7FWnyKxwqt9H9VKOAHogo4g9cK9zWDq7EPvyiswAYyXVDYiO+wCyfxD3BbIYPflYlGOEBsK3yc4vsXkKazi+AO/ITnMKV8EidZt4BO7KC1m5hevvWUMMAy7ViJOGukpYdtZOgds7gs8RFCInyyXVVM6CKMMYe+yzq2csS1ArXU3y5ZptlMbYyMMNOnlSRnhC1U0IX3Cn+arjUjGQ5EIjufUKrTgpXrG9O3EYfUPrJi8pMsVCR7mnZIr0Btpywizm8rBRIhpp5DVMT4Ru5wg2ekLZcldas/bmuOwCT1cshx+jtJqynWSqpFQULbKY+UGyEsRZqhtRyNw5yM7dy1uRkcxWnqJ8ykM5V1PrM99JKBXhLbOLHIhj5hI0aSqbnORKTDijKH4YqZwPI8HEnbFJ9FWklSi04x2kJ7w1aa44gIZFXX7sbZUMRv3M4gpFzNNzQXI0mA6S8UTUviltcQ0/cth15WZ5ZbpTZ3x17lyLQQGWGG0EzRoHw7ZmP1sKNO3AI+AJPll5s="
}
[info] CPU 149.4% | Mem 193MiB

[run 2/3]
{
  "zrk_version": "2.3.0",
  "target": { "url": "http://localhost:8080/baseline11?a=1&b=2", "method": "GET" },
  "config": { "connections": 1024, "launched": 1024, "duration_s": 20.000, "closed": false, "target_rate": 10000, "timeout_ms": 2000, "deadline_ms": 0, "deadline_abort": false, "record_timeouts": true },
  "duration_s": 20.002,
  "requests": 199664,
  "bytes": 23360688,
  "achieved_rate": 9982.03,
  "target_rate": 10000,
  "target_rate_end": 10000,
  "rate_ratio": 0.9982,
  "bytes_per_sec": 1167897.16,
  "error_rate": 0.000000,
  "max_schedule_lag_us": 0,
  "latency_us": {
    "min": 47, "mean": 97.7, "stdev": 569.1, "max": 36735,
    "p50": 79, "p75": 92, "p90": 107, "p99": 149, "p99_9": 461, "p99_99": 30600
  },
  "status_codes": { "1xx": 0, "2xx": 199664, "3xx": 0, "4xx": 0, "5xx": 0 },
  "errors": { "connect": 0, "read": 0, "write": 0, "timeout": 0, "deadline": 0, "non_2xx_3xx": 0 },
  "latency_histogram": "HISTFAAAAo94nC1RXUgUURSe+82d2dndmV13V11dMzVbV1ktzVQQxAqSUopc/1KQ7CkqeuvNh6DCFpMlsMAKRJaIMBASCR8kTEp82MSghCyipIeCRUQkwgfrm7V75957zvnOd8439+67PRpQFNVQ9ob6/xQZZ/SO0ry5F+jXpVl8oLx7YEUk1Hkt7d7NXitdr55oGm752jYWW+qIx7ZiI7HNs0vtH7renJ/rTfQlehM96c7ljtSZV60zJ3ebN5qmGpONW/XTdas1Pw/9qZyMDpWvReKR+2XbJenisaLFwqmCndBG/lRwIXclOx345l/wpby/vSnPU2vcnDG/uHads0bcWHfMO5b1N3pSH9KXtVW5LXfkpJyWE+qQXFQX1B8YVm+qKcwhiUU8wkuMYFvMimkxL5LimRgXT8Q9EeccEdfPXRlobTnRF+s+1Xn02JHqyrK8svq88tDB/aHcUCjL78nL9WdnSb9LN0yPR3cZpglDGoYpTZcupSGlLiGhgEMqe4YipZrx6EqNIQkdGvIZU+3dATcCUAkoKIGTkEMnTyVQJO0wahkLoJQB27Vo2aeGCPcGRPFX4JbALxXPBT7TEHgLvNPwXWBUoIBZUdSQ0wUfruIaLuOT4OHEIB4L9KPJZg3ivYrXgoqi+Ag8gF3zoUDYFkSJ7Wwboa3hIv0XAkFqCpNra27L/INb2upOs18BfQ1e9guighkOzlIQaoB9A0HbcXLL4ToO1g2jh0gOmilTRRUzLCbUsbxTFrKEZf9bDooo7hIuMKUdh2lbJDWA+XdVdrMYcbCUG5nLrKAMB2E361vca7l8XEUkVdkKfLwRLzkRkBSWAbCDJfsJO0mtIeamAH42y+JkUfvJ3Paj3cgY/wDH4o20"
}
[info] CPU 173.5% | Mem 205MiB

[run 3/3]
{
  "zrk_version": "2.3.0",
  "target": { "url": "http://localhost:8080/baseline11?a=1&b=2", "method": "GET" },
  "config": { "connections": 1024, "launched": 1024, "duration_s": 20.000, "closed": false, "target_rate": 10000, "timeout_ms": 2000, "deadline_ms": 0, "deadline_abort": false, "record_timeouts": true },
  "duration_s": 20.002,
  "requests": 199690,
  "bytes": 23363730,
  "achieved_rate": 9983.36,
  "target_rate": 10000,
  "target_rate_end": 10000,
  "rate_ratio": 0.9983,
  "bytes_per_sec": 1168052.76,
  "error_rate": 0.000000,
  "max_schedule_lag_us": 0,
  "latency_us": {
    "min": 47, "mean": 93.2, "stdev": 339.9, "max": 26639,
    "p50": 80, "p75": 93, "p90": 109, "p99": 153, "p99_9": 1187, "p99_99": 17448
  },
  "status_codes": { "1xx": 0, "2xx": 199690, "3xx": 0, "4xx": 0, "5xx": 0 },
  "errors": { "connect": 0, "read": 0, "write": 0, "timeout": 0, "deadline": 0, "non_2xx_3xx": 0 },
  "latency_histogram": "HISTFAAAAsZ4nC1RXUgUURSee+7M7Ozu7K67s9rqquu6qyZq5l9m/pUmGbrmT/QDZUlBBL34ECE9FNKPhGyxShhI+SAoEuGTiET0FCESEovFBhEkEiIiS4lISN9cm2Hm3vPd73znO+dmPhgxJIlfkfYf/n9lIhh5LDVu7QOXZd1TXFl+fYzNsUkaVaK2l55E9nBZrHbuZLJtrOtRz1J3tHM5shvZaV+JrHds9wyfi5992/29c+jMr/b11r9Ng027DTO1CzVfq8ePrFUslk+UjhfvFH4oiBWs5ifD07nzOWuBtax45kf/D1/St5mWSF01Vo3nnpg74frknHO8cyzbZ20r1mnrhjapzVsWLFFLUh1SfyuzyqiyLb+R38tbPMFX+Gv+jN/ncR7jcdqjz3g3aIL22CbbYIM0zxbZEpth0yzKYuwJG2a3htjVC70dx9sv1R3rrWzIaT2cX5d76Gh2+GA4nJObkZGSn+H1+Ly6z5vi9KZpHqeue3XdaUuTbbJTUzWbKmOnqzLJkqrpItIkWVUlIgJo4iThIy7LnMw9Jwu5KBV/iRTiZCcH/qVUBiQdO/IDUkDJQmiAVET91AfEICvSiiiCBAsdQEIE9BIKAbVTEGuICpEFCQMUB1L7BdWsU4UDl8BKIOvGhzCAvNt0AquFhJRLcCsoDyYKyHTKqQ1qps88lDtFNfSN0RdGzUDvIu6nO7BVQvU0YHaHKhchOkD3cF5KXfSH0Wm6Sa8YChngR+ghg88+CP5kqOIAq4qQCA03sutRL0DnaYrBogNdlYHtB7sRnBC6duF/A4aaQUulFpxDx5xsDcgOMQgXYPMQsALJIEQ52rkmt4j2mhG5CdyAcGyFrxZCIxZz9CExdkhYEZuXEgS3WjjIQi5shACHTHKeGFgt0CDm7oaUG7AfrwSf6MgqLjJd3LddQOaocddyOso95fSC4PIfOP2Tlg=="
}
[info] CPU 167.0% | Mem 208MiB
[info] run 1 wins on score

=== Best: 9979 req/s (CPU: 149.4%, Mem: 193MiB) ===
[info] exact CPU: 30.47 core-seconds | 152.617 us/req
=== Fixed-rate: cpu/req 152.62us | p99 156.0us | p99.9 14164.0us | rate_ratio 0.9979 ===
[info] saved results/latency-10k/1024/roadrunner.json
httparena-bench-roadrunner
httparena-bench-roadrunner

==============================================
=== roadrunner / async / 32000c (tool=gcannon) ===
==============================================
[info] waiting for server...
[info] server ready

[run 1/3]
gcannon v0.5.3
  Target:    localhost:8080/
  Threads:   64
  Conns:     32000 (500/thread)
  Pipeline:  1
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  10s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   16.93ms   12.20ms   14.30ms   17.90ms   892.00ms

  9779891 requests in 10.00s, 9747891 responses
  Throughput: 974.63K req/s
  Bandwidth:  109.68MB/s
  Status codes: 2xx=9747891, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 9747891 / 9747891 responses (100.0%)
  Latency overflow (>5s): 3400
[info] CPU 6090.0% | Mem 729MiB

[run 2/3]
gcannon v0.5.3
  Target:    localhost:8080/
  Threads:   64
  Conns:     32000 (500/thread)
  Pipeline:  1
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  10s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   18.14ms   11.90ms   13.60ms   16.80ms    2.21s

  7024457 requests in 10.00s, 6992457 responses
  Throughput: 699.13K req/s
  Bandwidth:  78.68MB/s
  Status codes: 2xx=6992457, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 6992457 / 6992457 responses (100.0%)
  Latency overflow (>5s): 2459
[info] CPU 4480.7% | Mem 723MiB

[run 3/3]
gcannon v0.5.3
  Target:    localhost:8080/
  Threads:   64
  Conns:     32000 (500/thread)
  Pipeline:  1
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  10s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   20.46ms   11.80ms   13.40ms   16.40ms    3.19s

  7205871 requests in 10.00s, 7173871 responses
  Throughput: 717.26K req/s
  Bandwidth:  80.72MB/s
  Status codes: 2xx=7173871, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 7173871 / 7173871 responses (100.0%)
  Latency overflow (>5s): 3960
[info] CPU 4804.3% | Mem 769MiB

=== Best: 974789 req/s (CPU: 6090.0%, Mem: 729MiB) ===
[info] input BW: 44.62MB/s (avg template: 48 bytes)
[info] saved results/async/32000/roadrunner.json
httparena-bench-roadrunner
httparena-bench-roadrunner
[info] rebuilding site/data/*.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/frameworks.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/results/roadrunner.json - 32 new, 32 total
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/current.json
[info] done
httparena-postgres
[info] restoring loopback MTU to 65536

@williamthome

Copy link
Copy Markdown
Contributor Author

/benchmark -f roadrunner --save

@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

👋 Benchmark request received. A collaborator will review and approve the run.

@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

Benchmark Results

Framework: roadrunner | Test: all tests

Test Conn RPS Rate CPU/req p99 p99.9 CPU Mem Δ RPS Δ Mem
baseline 4096 976,151 6350.3% 326MiB +2.4% -3.0%
pipelined 4096 4,292,643 6355.2% 356MiB +2.1% +2.3%
limited-conn 4096 434,132 5645.6% 319MiB -1.1% +0.3%
json-comp 4096 108,682 6356.6% 938MiB +8.5% +17.1%
json-comp 16384 112,766 6028.4% 892MiB +8.3% -1.9%
json-tls 4096 165,591 6196.0% 1.1GiB -1.4% +12.1%
8gbit 512 48,823 0.9765 ⚠️ 351.74us 4482.0us 14860.0us 1702.6% 533MiB +0.8% +7.2%
static-tls 1024 86,064 5805.8% 645MiB -1.0% -1.2%
async-db 1024 118,236 6401.2% 822MiB -4.8% +0.6%
fortunes 1024 63,787 6242.3% 1.1GiB +1.3% +11.5%
baseline-h2 256 450,329 6476.7% 338MiB -0.4% -2.9%
baseline-h2 1024 459,409 6433.4% 420MiB +1.0% -7.9%
static-h2 256 89,595 5802.1% 446MiB +5.7% +1.4%
static-h2 1024 79,120 5949.6% 917MiB -0.6% -1.9%
baseline-h2c 256 741,829 6625.7% 256MiB -1.0% -0.4%
baseline-h2c 1024 733,355 6591.1% 293MiB +1.7% +2.8%
baseline-h2c 4096 633,403 6382.6% 467MiB +0.6% +15.3%
json-h2c 1024 98,625 4138.2% 933MiB -1.5% +0.2%
json-h2c 4096 97,645 4445.9% 1.7GiB -5.1% ~0%
baseline-h3 64 125,317 5212.4% 447MiB +23.4% +2.1%
static-h3 64 13,422 5329.2% 678MiB -7.5% -12.3%
echo-ws 512 442,000 5093.4% 247MiB -23.6% +14.4%
echo-ws 4096 1,574,332 6484.3% 275MiB +1.0% -23.6%
echo-ws 16384 1,439,551 6247.0% 584MiB -2.3% +60.4%
echo-ws-pipeline 512 9,586,771 6381.3% 253MiB -2.5% +11.0%
echo-ws-pipeline 4096 9,304,716 6521.9% 385MiB +1.3% +6.1%
echo-ws-pipeline 16384 9,312,931 6152.5% 424MiB +1.2% -1.4%
echo-ws-limited 512 338,376 5232.0% 355MiB -4.4% +1.7%
echo-ws-limited 4096 343,145 5006.2% 361MiB -5.3% +4.9%
latency-1m 1024 960,501 0.9605 ⚠️ 66.00us 1760768.0us 2372608.0us 6579.0% 309MiB +0.3% +14.4%
latency-10k 1024 9,981 0.9981 149.83us 155.0us 878.0us 145.0% 196MiB ~0% -2.0%
async 32000 949,970 5421.5% 663MiB -2.3% +1.8%
Full log
  "achieved_rate": 960501.02,
  "target_rate": 1000000,
  "target_rate_end": 1000000,
  "rate_ratio": 0.9605,
  "bytes_per_sec": 112396421.16,
  "error_rate": 0.000000,
  "max_schedule_lag_us": 2966738,
  "latency_us": {
    "min": 61, "mean": 435626.6, "stdev": 413597.6, "max": 2969599,
    "p50": 322688, "p75": 640768, "p90": 1008896, "p99": 1760768, "p99_9": 2372608, "p99_99": 2829312
  },
  "status_codes": { "1xx": 0, "2xx": 19216957, "3xx": 0, "4xx": 0, "5xx": 0 },
  "errors": { "connect": 0, "read": 0, "write": 0, "timeout": 0, "deadline": 0, "non_2xx_3xx": 0 },
  "latency_histogram": "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"
}
[info] CPU 6579.0% | Mem 309MiB
[info] run 3 wins on score

=== Best: 960501 req/s (CPU: 6579.0%, Mem: 309MiB) ===
[info] exact CPU: 1268.38 core-seconds | 66.003 us/req
=== Fixed-rate: cpu/req 66.00us | p99 1760768.0us | p99.9 2372608.0us | rate_ratio 0.9605 ===
[warn] offered rate fell short: rate_ratio=0.9605 (target 1000000/s)
[warn]   the CPU number is not comparable with runs that held the rate
[info] saved results/latency-1m/1024/roadrunner.json
httparena-bench-roadrunner
httparena-bench-roadrunner

==============================================
=== roadrunner / latency-10k / 1024c (tool=zrk) ===
==============================================
[info] waiting for server...
[info] server ready

[run 1/3]
{
  "zrk_version": "2.3.0",
  "target": { "url": "http://localhost:8080/baseline11?a=1&b=2", "method": "GET" },
  "config": { "connections": 1024, "launched": 1024, "duration_s": 20.000, "closed": false, "target_rate": 10000, "timeout_ms": 2000, "deadline_ms": 0, "deadline_abort": false, "record_timeouts": true },
  "duration_s": 20.003,
  "requests": 199629,
  "bytes": 23356593,
  "achieved_rate": 9979.98,
  "target_rate": 10000,
  "target_rate_end": 10000,
  "rate_ratio": 0.9980,
  "bytes_per_sec": 1167657.46,
  "error_rate": 0.000000,
  "max_schedule_lag_us": 0,
  "latency_us": {
    "min": 44, "mean": 115.7, "stdev": 940.9, "max": 46367,
    "p50": 77, "p75": 88, "p90": 103, "p99": 147, "p99_9": 15148, "p99_99": 38800
  },
  "status_codes": { "1xx": 0, "2xx": 199629, "3xx": 0, "4xx": 0, "5xx": 0 },
  "errors": { "connect": 0, "read": 0, "write": 0, "timeout": 0, "deadline": 0, "non_2xx_3xx": 0 },
  "latency_histogram": "HISTFAAAAwp4nD1SS2hTQRSdOTPzXl7y8mtMk9hGsbW2oUqrtVTxt/OD4GdV+9GgoAgq1ZU7iUVUREtpg9YiCkVERBRciIsiWBVEBEVqRRERESmSRYld1I145yaYl5n7m3vuvWem/txoQgi9TlR+qiolG6MXxJa5iqMb0IjULN++9eQj+VhO47Uadkr+bOpuy6UNpZ3ne6YPvjm8cPTykbmD5f7B3vK+8f6p/ffyk/lCfurA176J7m97X+wobx3Z8mvjq675zi8dQ+1XW5/khpoLTd8b5rMLSx7V31w8n3qamqgtJguJyzXDsYuxn5E7kTn/r//OL4QmgyVvyrsUKLvvndfmvDNjxswD80SP66d6Un1WY6qoZjGJYYxhHCV5A7fxUy7IN7Isf8hZOSPvyxF5Rw7KojwzIQvyeFGek8cP9e7btWdz+5r2lWtb0svbG1rS6fqa+hWxdO2SRZG07zuxYMwJwPcXOU5gccR3AkEfwYDj+EFf6IjjOAgGtQhoAEILWhBQZEBrZZ3K/kn1yO/Ao1OwR6B0I5KAQYgWovC0IneODIGllLKUNAUXb4FnEo3IokOHkMEAduK5xGl8kDhB+kvguktIZyWuSIqfQh/ihLMDCaTodJIyd6MDe3FL4ZrEMfyWuGDQRL100TJ0ro7iKZJx1gWtMEVc+tqoszBhKHTbCh8le/J4KLGNgHMUyHK5AZKrbeM6TDbVaUUzjZZkFIFWnYNloM2ylGLVJbZsOZcKhEiz42+iQUmxFePk7LRGikHsvp52Q7lxcKchShDWEEyV4M9qhvE9ghFV5HB1JbWVKcKLc90eMAOKWaetk0SGYqICmrT1bRmXdo81W91er8uX49ElhumL0uxRJk5p6+eZBTdC8xqdIDqWEfIGMCfNFAlrW9WeTACruI5ruyGvjpJaB237sGPaV+QY/NGUUMfzNNGBTHXCLJNhO8tYOnQW3KR9RSSyfMHcrqAWK+QYfqOGxxIsOWyYJaMzqI5o/k9hWPds+4qruWxWmOaAQZQSLYQiaUnZhE8S/wDgtYp/"
}
[info] CPU 164.4% | Mem 195MiB

[run 2/3]
{
  "zrk_version": "2.3.0",
  "target": { "url": "http://localhost:8080/baseline11?a=1&b=2", "method": "GET" },
  "config": { "connections": 1024, "launched": 1024, "duration_s": 20.000, "closed": false, "target_rate": 10000, "timeout_ms": 2000, "deadline_ms": 0, "deadline_abort": false, "record_timeouts": true },
  "duration_s": 20.002,
  "requests": 199642,
  "bytes": 23358114,
  "achieved_rate": 9980.98,
  "target_rate": 10000,
  "target_rate_end": 10000,
  "rate_ratio": 0.9981,
  "bytes_per_sec": 1167774.12,
  "error_rate": 0.000000,
  "max_schedule_lag_us": 0,
  "latency_us": {
    "min": 44, "mean": 101.6, "stdev": 667.7, "max": 40767,
    "p50": 79, "p75": 93, "p90": 111, "p99": 155, "p99_9": 878, "p99_99": 34768
  },
  "status_codes": { "1xx": 0, "2xx": 199642, "3xx": 0, "4xx": 0, "5xx": 0 },
  "errors": { "connect": 0, "read": 0, "write": 0, "timeout": 0, "deadline": 0, "non_2xx_3xx": 0 },
  "latency_histogram": "HISTFAAAArV4nDVSW0hUURS9Z92X987DGefVzPgoH1MmpplDQYhYKkGmNeWrop+wjz6CfqJPMyMrsRgrpEKlv4YhzC8RChkGC5kkyiT6GCIkop8k/JD6ad1r3cPZe/Y6a++99jlTPDzukyT5tLT1yf+8sIPxm1Lz+hbQC2gFmrv8UPu5q1nxCHl5Rf/sWouu1CabskemE4M97/ve9Y70pU9udg11zSR+JDa7H/bP98ydSifWO5c7PrWutuSaZg+mD2TiQ/FMY65+qG6iZmz391g+NlcxX76y/X7p7+Lh6FIkE85texVcDS4EJv0bvqQ/WbTknfGkPGvuBVfalXKum8/NafO2OWvkCn7pb/S8vqwntaz6VB1VU0qWa1QZ5M7IY/KCPC9P0i/iC5aQwjQ2xD3kxDeRF0/EV7EoJsSMGBPDYkRcunjlwtnjrYmOhtb2xobOPfWNleW7YqWlxfX+SCQYqYz5g0G3x+0u8vuLTM00nU6nGTRNv1PRPBpvB6YCjVuRwM8ymoQCSWEsW4giaaoCWXHZpxaqSIoKL0MdqmYxoHLJcNAacJEVIgU+MKphJBEPYycjH2rtOGrzDW6VfKupj9kGUIhrAl2oxn7ix1BFZoAc4nGWeiZY5YXAHaAbtwQ+CrwGHggevSQqcBkfxP8KJawxZeIP0I+4UstehahgGWAfV5znzfR1rC6hiZ3oqtm0jGlkqthBdjNOkDclmDyAXs5cRpE3gBCBw9iLo9RdRoZB62OBQvpqRhKvJsRZrwvCAUIh+ruCTodC4QYeW2INtFmzvLU1Wz3PUICO8/bMEjU5eG8t9u1ycIed3sbWcYr7KZNVxawA4TBtGIYStvMMKvLReolRIl+qxGYw03ocB1x8xZCdKPPU0sZ78FrPSYJMIEqSZGXrkBQd/BW134pz8n9gkD2Av31Pj1o="
}
[info] CPU 145.0% | Mem 196MiB

[run 3/3]
{
  "zrk_version": "2.3.0",
  "target": { "url": "http://localhost:8080/baseline11?a=1&b=2", "method": "GET" },
  "config": { "connections": 1024, "launched": 1024, "duration_s": 20.000, "closed": false, "target_rate": 10000, "timeout_ms": 2000, "deadline_ms": 0, "deadline_abort": false, "record_timeouts": true },
  "duration_s": 20.002,
  "requests": 199681,
  "bytes": 23362677,
  "achieved_rate": 9982.91,
  "target_rate": 10000,
  "target_rate_end": 10000,
  "rate_ratio": 0.9983,
  "bytes_per_sec": 1168000.55,
  "error_rate": 0.000000,
  "max_schedule_lag_us": 0,
  "latency_us": {
    "min": 48, "mean": 94.0, "stdev": 378.3, "max": 24975,
    "p50": 79, "p75": 92, "p90": 108, "p99": 150, "p99_9": 373, "p99_99": 17416
  },
  "status_codes": { "1xx": 0, "2xx": 199681, "3xx": 0, "4xx": 0, "5xx": 0 },
  "errors": { "connect": 0, "read": 0, "write": 0, "timeout": 0, "deadline": 0, "non_2xx_3xx": 0 },
  "latency_histogram": "HISTFAAAAn14nC1QXUgUURide+bO7OyM6+7Otq75s+u2pIkkqf1oJWXWg4ZGtmohFURPQa89FUiJxSpLoGhYrBAiJIu9ZA9SESFLVJDEviRBL2ZCW9gSPkl0Zm3mfvd+93znnu/cWzE0FlAU5JTtT/2/isJm7K5ybGMbuOzbFa4/3JMUoyIvXqibWs5KhrI1U80r7Zunb8fTvcn+T32p+GzP87Mz8Xw82fvmfG5g9UKmf+3cuzPZrvmOrRMP2hJHl1qyB+ea0o3D+x7Xp/a+rk3X5Kt/xV7FlqNfwplIpmK5bKZ0tXSoZDG4aGfsnP3Il/ImvMOedStpbZoJc8mdNe4bb11r+oY+qs/rf7RnWl7ek0k5LhflijqlJtRXah45bGFcnVD/Yh0ZpDGPCSyLQWTEBzEnhkRKJMSsGOR/4+ala93dnVf7Ok9e2X+8uTrcuKeqqqq6oqzEDhslYXtH2A7bhumzi/TiYqPIZxYZhk8api4hbd009WLJFJKhK7oiJYfJnS4VGAoLYCiQKssGcQkv3NIiqiKEnWiBBRc0eKSGDlzHZwFLujCAKGKIcHWhFgsC34AAPgq8FGhFOQ5gBDhFjd8SF3ELT3kM7QjiJzAJ5lG8B2W/Ah5UYsQpPxSowx3BY98FnoDNNR5YcLxNq452AyZV0snX4IYfUGirlXOM20rsxiE2DNKdm67qGAHWQgwVNY69CBO1MFOggb6dK0bY+YjDkQ0Oy0XQYkQJudBFoso30NgtAL8MsU2IuB9NbMKbOs9SB+Zt5LtpwE1ht6PvpXfHh6fwgEpB2GmtFPw4Eq5tI34adiyTX85agKlCzRhBiywv5yCRH4I22zAN/ANiYoil"
}
[info] CPU 165.2% | Mem 210MiB
[info] run 2 wins on score

=== Best: 9981 req/s (CPU: 145.0%, Mem: 196MiB) ===
[info] exact CPU: 29.91 core-seconds | 149.828 us/req
=== Fixed-rate: cpu/req 149.83us | p99 155.0us | p99.9 878.0us | rate_ratio 0.9981 ===
[info] saved results/latency-10k/1024/roadrunner.json
httparena-bench-roadrunner
httparena-bench-roadrunner

==============================================
=== roadrunner / async / 32000c (tool=gcannon) ===
==============================================
[info] waiting for server...
[info] server ready

[run 1/3]
gcannon v0.5.3
  Target:    localhost:8080/
  Threads:   64
  Conns:     32000 (500/thread)
  Pipeline:  1
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  10s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   17.29ms   12.60ms   14.80ms   19.00ms    1.13s

  9531709 requests in 10.00s, 9499709 responses
  Throughput: 949.81K req/s
  Bandwidth:  106.89MB/s
  Status codes: 2xx=9499709, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 9499709 / 9499709 responses (100.0%)
  Latency overflow (>5s): 2889
[info] CPU 5421.5% | Mem 663MiB

[run 2/3]
gcannon v0.5.3
  Target:    localhost:8080/
  Threads:   64
  Conns:     32000 (500/thread)
  Pipeline:  1
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  10s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   19.49ms   11.80ms   13.30ms   16.50ms    2.78s

  6185042 requests in 10.00s, 6153042 responses
  Throughput: 615.15K req/s
  Bandwidth:  69.23MB/s
  Status codes: 2xx=6153042, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 6153042 / 6153042 responses (100.0%)
  Latency overflow (>5s): 2552
[info] CPU 3726.5% | Mem 720MiB

[run 3/3]
gcannon v0.5.3
  Target:    localhost:8080/
  Threads:   64
  Conns:     32000 (500/thread)
  Pipeline:  1
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  10s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   19.83ms   11.90ms   13.60ms   17.20ms    2.84s

  7271074 requests in 10.00s, 7239074 responses
  Throughput: 723.78K req/s
  Bandwidth:  81.45MB/s
  Status codes: 2xx=7239074, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 7239074 / 7239074 responses (100.0%)
  Latency overflow (>5s): 3579
[info] CPU 4431.9% | Mem 759MiB

=== Best: 949970 req/s (CPU: 5421.5%, Mem: 663MiB) ===
[info] input BW: 43.49MB/s (avg template: 48 bytes)
[info] saved results/async/32000/roadrunner.json
httparena-bench-roadrunner
httparena-bench-roadrunner
[info] rebuilding site/data/*.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/frameworks.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/results/roadrunner.json - 32 new, 32 total
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/current.json
[info] done
httparena-postgres
[info] restoring loopback MTU to 65536

@MDA2AV
MDA2AV merged commit 1f3d6e7 into MDA2AV:main Sep 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants