Skip to content

Update roadrunner to 0.2.3 with HTTP/3 support#761

Open
williamthome wants to merge 9 commits into
MDA2AV:mainfrom
williamthome:feat/update-roadrunner-0.2.1
Open

Update roadrunner to 0.2.3 with HTTP/3 support#761
williamthome wants to merge 9 commits into
MDA2AV:mainfrom
williamthome:feat/update-roadrunner-0.2.1

Conversation

@williamthome
Copy link
Copy Markdown
Contributor

@williamthome williamthome commented May 26, 2026

Description

Bumps the roadrunner dependency from 0.1.0 to hex 0.2.3 and enables HTTP/3 over QUIC, adding the http3 listener protocol, the baseline-h3/static-h3 profiles, and 8443/udp.


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

Command Description
/benchmark -f <framework> Run all benchmark tests
/benchmark -f <framework> -t <test> Run a specific test
/benchmark -f <framework> --save Run and save results (updates leaderboard on merge)

Always specify -f <framework>. Results are automatically compared against the current leaderboard.


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, ghz) are built as self-contained Docker images on first run.

@williamthome williamthome marked this pull request as draft May 26, 2026 02:43
@williamthome williamthome force-pushed the feat/update-roadrunner-0.2.1 branch from 7283c8c to 5371168 Compare May 26, 2026 02:47
@williamthome williamthome marked this pull request as ready for review May 26, 2026 02:47
@williamthome
Copy link
Copy Markdown
Contributor Author

/benchmark -f roadrunner

@github-actions
Copy link
Copy Markdown
Contributor

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

@github-actions
Copy link
Copy Markdown
Contributor

Benchmark Results

Framework: roadrunner | Test: all tests

Test Conn RPS CPU Mem Δ RPS Δ Mem
baseline 512 774,604 6190.5% 303MiB -7.0% +8.2%
baseline 4096 691,602 5284.3% 284MiB -18.3% -1.4%
pipelined 512 1,258,807 6540.2% 187MiB -10.6% +2.7%
pipelined 4096 1,251,264 6291.3% 213MiB -11.2% -5.3%
limited-conn 512 380,977 3855.2% 225MiB -6.2% -3.0%
limited-conn 4096 373,939 4065.1% 277MiB -7.6% +28.2%
json 4096 181,278 5826.3% 524MiB -12.2% -28.2%
json-comp 512 97,082 6231.4% 836MiB -7.4% -4.7%
json-comp 4096 103,625 6145.1% 748MiB +10.3% -12.7%
json-comp 16384 87,693 6202.0% 809MiB -15.8% -8.7%
json-tls 4096 44,385 2906.3% 454MiB -15.0% -6.2%
upload 32 2,846 1853.7% 394MiB +0.6% +11.3%
upload 256 2,939 4614.3% 594MiB +0.5% +13.6%
api-4 256 18,265 398.2% 185MiB -9.6% +10.8%
api-16 1024 44,740 1530.8% 324MiB +7.1% +4.5%
static 1024 125,749 4233.1% 196MiB +677.0% +14.0%
static 4096 124,289 4297.4% 200MiB +457.5% +6.4%
static 6800 133,194 4565.5% 203MiB +719.3% +20.8%
async-db 1024 80,490 5185.9% 474MiB -4.7% -26.6%
crud 4096 183,999 4814.3% 378MiB -2.8% -2.8%
fortunes 1024 39,405 5138.7% 841MiB -16.4% -3.7%
baseline-h2 256 456,452 6361.7% 537MiB -5.7% +6.5%
baseline-h2 1024 466,663 6327.5% 537MiB -5.3% -3.2%
static-h2 256 9,477 4365.4% 666MiB -49.4% -5.3%
static-h2 1024 7,933 4399.8% 661MiB -57.4% -46.2%
baseline-h2c 256 837,661 6301.7% 578MiB -9.2% -0.2%
baseline-h2c 1024 877,712 6178.7% 563MiB -6.5% +10.6%
baseline-h2c 4096 883,642 6223.0% 568MiB -4.1% -1.0%
json-h2c 1024 118,452 6244.9% 1.7GiB +4.7% +13.3%
json-h2c 4096 132,098 6222.3% 1.7GiB +6.4% +6.2%
baseline-h3 64 58,959 5097.7% 968MiB NEW NEW
static-h3 64 2,949 4434.2% 760MiB NEW NEW
echo-ws 512 879,677 5775.7% 341MiB +5.2% +14.4%
echo-ws 4096 290,399 2422.7% 194MiB -56.8% -34.2%
echo-ws 16384 389,334 2872.8% 209MiB -33.5% -22.0%
echo-ws-pipeline 512 1,914,547 6287.5% 188MiB -8.6% +2.2%
echo-ws-pipeline 4096 1,573,014 5429.4% 275MiB -27.0% +43.2%
echo-ws-pipeline 16384 1,784,310 5907.4% 318MiB -16.8% +65.6%
Full log

[run 1/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   1.86ms   2.09ms   2.21ms   2.37ms   4.62ms

  6432346 frames sent in 5.00s, 6432346 frames received
  Throughput: 1.29M req/s
  Bandwidth:  8.59MB/s
  WS upgrades: 150
  WS frames:   6432346
  Latency samples: 6432346 / 6432346 responses (100.0%)
  Reconnects: 222690
[info] CPU 4478.1% | Mem 225MiB

[run 2/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   1.33ms   1.25ms   2.40ms   4.22ms   6.24ms

  7865645 frames sent in 5.00s, 7865070 frames received
  Throughput: 1.57M req/s
  Bandwidth:  10.50MB/s
  WS upgrades: 140
  WS frames:   7865070
  Latency samples: 7865070 / 7865070 responses (100.0%)
  Reconnects: 168125
[info] CPU 5429.4% | Mem 275MiB

[run 3/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   1.40ms   1.33ms   2.64ms   4.28ms   6.25ms

  7846390 frames sent in 5.00s, 7845788 frames received
  Throughput: 1.57M req/s
  Bandwidth:  10.47MB/s
  WS upgrades: 149
  WS frames:   7845788
  Latency samples: 7845788 / 7845788 responses (100.0%)
  Reconnects: 165215
[info] CPU 5481.7% | Mem 274MiB

=== Best: 1573014 req/s (CPU: 5429.4%, Mem: 275MiB) ===
[info] saved results/echo-ws-pipeline/4096/roadrunner.json
httparena-bench-roadrunner
httparena-bench-roadrunner

==============================================
=== roadrunner / echo-ws-pipeline / 16384c (tool=gcannon) ===
==============================================
[info] waiting for server...
[info] server ready

[run 1/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     16384 (256/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   5.66ms   5.54ms   6.06ms   6.56ms   7.64ms

  2116851 frames sent in 5.00s, 2114947 frames received
  Throughput: 422.83K req/s
  Bandwidth:  2.83MB/s
  WS upgrades: 150
  WS frames:   2114947
  Latency samples: 2114947 / 2114947 responses (100.0%)
  Reconnects: 274171
[info] CPU 1903.9% | Mem 188MiB

[run 2/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     16384 (256/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   1.34ms   1.16ms   2.33ms   3.82ms   6.63ms

  8923942 frames sent in 5.00s, 8921551 frames received
  Throughput: 1.78M req/s
  Bandwidth:  11.91MB/s
  WS upgrades: 150
  WS frames:   8921551
  Latency samples: 8921551 / 8921551 responses (100.0%)
  Reconnects: 159698
[info] CPU 5907.4% | Mem 318MiB

[run 3/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     16384 (256/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   1.19ms   1.19ms   1.82ms   3.75ms   6.57ms

  6163043 frames sent in 5.00s, 6160728 frames received
  Throughput: 1.23M req/s
  Bandwidth:  8.23MB/s
  WS upgrades: 145
  WS frames:   6160728
  Latency samples: 6160728 / 6160728 responses (100.0%)
  Reconnects: 200080
[info] CPU 4154.0% | Mem 256MiB

=== Best: 1784310 req/s (CPU: 5907.4%, Mem: 318MiB) ===
[info] saved results/echo-ws-pipeline/16384/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/api-16-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/api-4-256.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/async-db-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-h2-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-h2-256.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-h2c-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-h2c-256.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-h2c-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-h3-64.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/crud-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-16384.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-pipeline-16384.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-pipeline-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-pipeline-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/fortunes-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/json-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/json-comp-16384.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/json-comp-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/json-comp-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/json-h2c-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/json-h2c-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/json-tls-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/limited-conn-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/limited-conn-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/pipelined-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/pipelined-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-6800.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-h2-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-h2-256.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-h3-64.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/upload-256.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/upload-32.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/current.json
[info] done
httparena-postgres
httparena-redis
[info] restoring loopback MTU to 65536
[info] restoring CPU governor → powersave

@williamthome williamthome marked this pull request as draft May 26, 2026 15:30
@williamthome williamthome changed the title Update roadrunner to 0.2.1 with HTTP/3 support Update roadrunner to 0.2.2 with HTTP/3 support May 26, 2026
@williamthome
Copy link
Copy Markdown
Contributor Author

/benchmark -f roadrunner

@github-actions
Copy link
Copy Markdown
Contributor

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

@williamthome williamthome marked this pull request as ready for review May 26, 2026 22:47
@github-actions
Copy link
Copy Markdown
Contributor

Benchmark Results

Framework: roadrunner | Test: all tests

Test Conn RPS CPU Mem Δ RPS Δ Mem
baseline 512 775,796 6080.1% 316MiB -6.9% +12.9%
baseline 4096 689,384 5454.4% 298MiB -18.6% +3.5%
pipelined 512 1,247,234 6318.8% 190MiB -11.4% +4.4%
pipelined 4096 1,262,715 6244.7% 208MiB -10.4% -7.6%
limited-conn 512 380,275 3802.0% 224MiB -6.4% -3.4%
limited-conn 4096 380,952 3922.8% 254MiB -5.8% +17.6%
json 4096 169,590 5796.5% 398MiB -17.8% -45.5%
json-comp 512 100,353 6132.8% 865MiB -4.3% -1.4%
json-comp 4096 108,647 6144.9% 810MiB +15.7% -5.5%
json-comp 16384 109,488 5853.7% 925MiB +5.2% +4.4%
json-tls 4096 56,234 3133.1% 493MiB +7.7% +1.9%
upload 32 2,862 1993.6% 365MiB +1.2% +3.1%
upload 256 2,918 4851.6% 538MiB -0.2% +2.9%
api-4 256 18,811 402.0% 172MiB -6.9% +3.0%
api-16 1024 43,879 1530.0% 305MiB +5.0% -1.6%
static 1024 126,611 4299.6% 199MiB +682.3% +15.7%
static 4096 124,446 4412.5% 204MiB +458.2% +8.5%
static 6800 137,893 4714.1% 208MiB +748.2% +23.8%
async-db 1024 82,387 5326.4% 656MiB -2.4% +1.5%
crud 4096 193,700 4843.8% 380MiB +2.4% -2.3%
fortunes 1024 45,562 5987.8% 994MiB -3.4% +13.9%
baseline-h2 256 460,935 6310.5% 559MiB -4.7% +10.9%
baseline-h2 1024 471,357 6259.6% 555MiB -4.3% ~0%
static-h2 256 24,579 4428.9% 873MiB +31.3% +24.2%
static-h2 1024 20,403 4308.4% 928MiB +9.6% -24.5%
baseline-h2c 256 837,875 6286.5% 593MiB -9.2% +2.4%
baseline-h2c 1024 891,227 6258.2% 591MiB -5.1% +16.1%
baseline-h2c 4096 890,009 6046.9% 588MiB -3.4% +2.4%
json-h2c 1024 106,981 6105.0% 1.6GiB -5.4% +6.7%
json-h2c 4096 130,224 6195.9% 1.8GiB +4.9% +12.5%
baseline-h3 64 62,137 5739.4% 1.1GiB NEW NEW
static-h3 64 1,562 4521.4% 682MiB NEW NEW
echo-ws 512 845,684 5550.6% 327MiB +1.1% +9.7%
echo-ws 4096 326,924 2235.3% 201MiB -51.4% -31.9%
echo-ws 16384 491,945 4211.5% 240MiB -16.0% -10.4%
echo-ws-pipeline 512 1,892,624 6275.0% 187MiB -9.6% +1.6%
echo-ws-pipeline 4096 1,469,997 4956.0% 262MiB -31.7% +36.5%
echo-ws-pipeline 16384 1,863,285 6344.4% 215MiB -13.2% +12.0%
Full log

[run 1/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   1.72ms   2.14ms   2.85ms   3.10ms   5.22ms

  6980309 frames sent in 5.00s, 6980311 frames received
  Throughput: 1.40M req/s
  Bandwidth:  9.32MB/s
  WS upgrades: 150
  WS frames:   6980311
  Latency samples: 6980303 / 6980311 responses (100.0%)
  Reconnects: 210962
[info] CPU 4692.7% | Mem 237MiB

[run 2/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   1.41ms   1.47ms   2.34ms   3.21ms   5.00ms

  6842644 frames sent in 5.00s, 6842229 frames received
  Throughput: 1.37M req/s
  Bandwidth:  9.13MB/s
  WS upgrades: 131
  WS frames:   6842229
  Latency samples: 6842229 / 6842229 responses (100.0%)
  Reconnects: 205098
[info] CPU 4778.3% | Mem 242MiB

[run 3/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   1.49ms   1.53ms   2.35ms   3.56ms   5.44ms

  7350449 frames sent in 5.00s, 7349986 frames received
  Throughput: 1.47M req/s
  Bandwidth:  9.81MB/s
  WS upgrades: 145
  WS frames:   7349986
  Latency samples: 7349986 / 7349986 responses (100.0%)
  Reconnects: 191367
[info] CPU 4956.0% | Mem 262MiB

=== Best: 1469997 req/s (CPU: 4956.0%, Mem: 262MiB) ===
[info] saved results/echo-ws-pipeline/4096/roadrunner.json
httparena-bench-roadrunner
httparena-bench-roadrunner

==============================================
=== roadrunner / echo-ws-pipeline / 16384c (tool=gcannon) ===
==============================================
[info] waiting for server...
[info] server ready

[run 1/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     16384 (256/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   5.80ms   5.92ms   6.12ms   6.72ms   7.44ms

  2055326 frames sent in 5.00s, 2052926 frames received
  Throughput: 410.44K req/s
  Bandwidth:  2.74MB/s
  WS upgrades: 150
  WS frames:   2052926
  Latency samples: 2052926 / 2052926 responses (100.0%)
  Reconnects: 270264
[info] CPU 1745.1% | Mem 194MiB

[run 2/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     16384 (256/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   1.21ms   1.03ms   2.31ms   4.32ms   7.09ms

  9318686 frames sent in 5.00s, 9316426 frames received
  Throughput: 1.86M req/s
  Bandwidth:  12.44MB/s
  WS upgrades: 142
  WS frames:   9316426
  Latency samples: 9316426 / 9316426 responses (100.0%)
  Reconnects: 129562
[info] CPU 6344.4% | Mem 215MiB

[run 3/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     16384 (256/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   2.78ms   4.05ms   4.91ms   5.81ms   10.90ms

  3545573 frames sent in 5.00s, 3543573 frames received
  Throughput: 708.45K req/s
  Bandwidth:  4.73MB/s
  WS upgrades: 125
  WS frames:   3543573
  Latency samples: 3543573 / 3543573 responses (100.0%)
  Reconnects: 244372
[info] CPU 2912.1% | Mem 213MiB

=== Best: 1863285 req/s (CPU: 6344.4%, Mem: 215MiB) ===
[info] saved results/echo-ws-pipeline/16384/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/api-16-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/api-4-256.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/async-db-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-h2-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-h2-256.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-h2c-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-h2c-256.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-h2c-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-h3-64.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/crud-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-16384.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-pipeline-16384.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-pipeline-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-pipeline-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/fortunes-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/json-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/json-comp-16384.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/json-comp-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/json-comp-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/json-h2c-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/json-h2c-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/json-tls-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/limited-conn-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/limited-conn-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/pipelined-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/pipelined-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-6800.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-h2-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-h2-256.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-h3-64.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/upload-256.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/upload-32.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/current.json
[info] done
httparena-postgres
httparena-redis
[info] restoring loopback MTU to 65536
[info] restoring CPU governor → powersave

@williamthome
Copy link
Copy Markdown
Contributor Author

/benchmark -f roadrunner --save

@github-actions
Copy link
Copy Markdown
Contributor

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

@github-actions
Copy link
Copy Markdown
Contributor

⚠️ /benchmark --save cannot start: main has diverged and cannot be auto-merged into this branch. Please merge or rebase main manually, push, and re-run /benchmark --save.

The feat/http3 branch was merged upstream and no longer exists; tag 0.2.1 (== main HEAD) is the same commit and is published on hex, so this is a clean version pin with no source change. Commit rebar.lock to pin the resolved deps (roadrunner 0.2.1, quic 1.4.3, epgsql, pooler, telemetry). Update the README to reflect that HTTP/3 (baseline-h3, static-h3) now ships in 0.2.1.
A bare rebar3 otherwise inherits the global mise erlang (28.3.1) and fails roadrunner's minimum_otp_vsn of 29.
@williamthome williamthome force-pushed the feat/update-roadrunner-0.2.1 branch from d3768c5 to 48144b4 Compare May 27, 2026 00:50
@williamthome
Copy link
Copy Markdown
Contributor Author

/benchmark -f roadrunner --save

@github-actions
Copy link
Copy Markdown
Contributor

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

@github-actions
Copy link
Copy Markdown
Contributor

Benchmark Results

Framework: roadrunner | Test: all tests

Test Conn RPS CPU Mem Δ RPS Δ Mem
baseline 512 777,244 6325.9% 316MiB -6.7% +12.9%
baseline 4096 731,515 6161.1% 316MiB -13.6% +9.7%
pipelined 512 1,256,411 6424.7% 197MiB -10.8% +8.2%
pipelined 4096 1,267,415 6281.1% 205MiB -10.1% -8.9%
limited-conn 512 386,091 4243.2% 224MiB -5.0% -3.4%
limited-conn 4096 380,715 3809.9% 245MiB -5.9% +13.4%
json 4096 164,119 6128.3% 389MiB -20.5% -46.7%
json-comp 512 112,196 6142.9% 824MiB +7.0% -6.0%
json-comp 4096 111,581 6131.7% 896MiB +18.8% +4.6%
json-comp 16384 81,391 5885.9% 822MiB -21.8% -7.2%
json-tls 4096 44,939 2895.4% 449MiB -13.9% -7.2%
upload 32 2,841 1912.2% 422MiB +0.5% +19.2%
upload 256 2,917 4772.8% 502MiB -0.2% -4.0%
api-4 256 18,325 398.6% 173MiB -9.3% +3.6%
api-16 1024 42,557 1430.6% 350MiB +1.9% +12.9%
static 1024 138,368 4414.8% 210MiB +755.0% +22.1%
static 4096 124,781 4423.5% 206MiB +459.7% +9.6%
static 6800 134,944 4512.3% 219MiB +730.1% +30.4%
async-db 1024 82,070 5005.9% 651MiB -2.8% +0.8%
crud 4096 189,030 5026.8% 368MiB -0.1% -5.4%
fortunes 1024 43,035 5341.7% 930MiB -8.7% +6.5%
baseline-h2 256 460,879 6324.1% 532MiB -4.8% +5.6%
baseline-h2 1024 474,441 6269.6% 553MiB -3.7% -0.4%
static-h2 256 14,489 4280.4% 862MiB -22.6% +22.6%
static-h2 1024 8,120 4302.2% 614MiB -56.4% -50.0%
baseline-h2c 256 840,738 6303.6% 558MiB -8.8% -3.6%
baseline-h2c 1024 904,705 6231.0% 591MiB -3.6% +16.1%
baseline-h2c 4096 900,750 5980.3% 581MiB -2.2% +1.2%
json-h2c 1024 124,271 6192.0% 1.8GiB +9.9% +20.0%
json-h2c 4096 130,834 6235.1% 1.8GiB +5.4% +12.5%
baseline-h3 64 60,487 6037.7% 1.1GiB NEW NEW
static-h3 64 2,661 4621.9% 742MiB NEW NEW
echo-ws 512 860,848 5750.4% 344MiB +2.9% +15.4%
echo-ws 4096 303,132 2381.2% 240MiB -54.9% -18.6%
echo-ws 16384 428,544 4529.8% 246MiB -26.9% -8.2%
echo-ws-pipeline 512 1,879,142 6114.8% 189MiB -10.3% +2.7%
echo-ws-pipeline 4096 1,329,177 4674.9% 252MiB -38.3% +31.2%
echo-ws-pipeline 16384 1,880,103 6062.1% 205MiB -12.4% +6.8%
Full log

[run 1/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   1.85ms   2.11ms   2.80ms   2.92ms   4.51ms

  6497610 frames sent in 5.00s, 6497609 frames received
  Throughput: 1.30M req/s
  Bandwidth:  8.67MB/s
  WS upgrades: 150
  WS frames:   6497609
  Latency samples: 6497609 / 6497609 responses (100.0%)
  Reconnects: 226898
[info] CPU 4575.2% | Mem 218MiB

[run 2/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   1.88ms   2.10ms   2.22ms   2.96ms   4.76ms

  5363106 frames sent in 5.00s, 5362961 frames received
  Throughput: 1.07M req/s
  Bandwidth:  7.16MB/s
  WS upgrades: 130
  WS frames:   5362961
  Latency samples: 5362961 / 5362961 responses (100.0%)
  Reconnects: 226414
[info] CPU 4005.0% | Mem 220MiB

[run 3/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   1.57ms   2.01ms   2.75ms   3.75ms   5.85ms

  6646409 frames sent in 5.00s, 6645887 frames received
  Throughput: 1.33M req/s
  Bandwidth:  8.87MB/s
  WS upgrades: 148
  WS frames:   6645887
  Latency samples: 6645887 / 6645887 responses (100.0%)
  Reconnects: 206186
[info] CPU 4674.9% | Mem 252MiB

=== Best: 1329177 req/s (CPU: 4674.9%, Mem: 252MiB) ===
[info] saved results/echo-ws-pipeline/4096/roadrunner.json
httparena-bench-roadrunner
httparena-bench-roadrunner

==============================================
=== roadrunner / echo-ws-pipeline / 16384c (tool=gcannon) ===
==============================================
[info] waiting for server...
[info] server ready

[run 1/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     16384 (256/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   1.26ms    889us   2.48ms   4.35ms   6.99ms

  9402908 frames sent in 5.00s, 9400516 frames received
  Throughput: 1.88M req/s
  Bandwidth:  12.55MB/s
  WS upgrades: 150
  WS frames:   9400516
  Latency samples: 9400516 / 9400516 responses (100.0%)
  Reconnects: 126452
[info] CPU 6062.1% | Mem 205MiB

[run 2/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     16384 (256/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   4.23ms   5.29ms   5.99ms   6.26ms   7.91ms

  2817386 frames sent in 5.00s, 2817291 frames received
  Throughput: 563.27K req/s
  Bandwidth:  3.76MB/s
  WS upgrades: 150
  WS frames:   2817291
  Latency samples: 2817291 / 2817291 responses (100.0%)
  Reconnects: 262573
[info] CPU 2526.8% | Mem 221MiB

[run 3/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     16384 (256/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   1.19ms    753us   2.25ms   4.04ms   7.03ms

  8799514 frames sent in 5.00s, 8797116 frames received
  Throughput: 1.76M req/s
  Bandwidth:  11.74MB/s
  WS upgrades: 150
  WS frames:   8797116
  Latency samples: 8797116 / 8797116 responses (100.0%)
  Reconnects: 146225
[info] CPU 5791.4% | Mem 263MiB

=== Best: 1880103 req/s (CPU: 6062.1%, Mem: 205MiB) ===
[info] saved results/echo-ws-pipeline/16384/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/api-16-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/api-4-256.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/async-db-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-h2-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-h2-256.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-h2c-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-h2c-256.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-h2c-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-h3-64.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/crud-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-16384.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-pipeline-16384.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-pipeline-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-pipeline-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/fortunes-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/json-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/json-comp-16384.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/json-comp-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/json-comp-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/json-h2c-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/json-h2c-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/json-tls-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/limited-conn-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/limited-conn-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/pipelined-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/pipelined-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-6800.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-h2-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-h2-256.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-h3-64.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/upload-256.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/upload-32.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/current.json
[info] done
httparena-postgres
httparena-redis
[info] restoring loopback MTU to 65536
[info] restoring CPU governor → powersave

@williamthome williamthome marked this pull request as draft May 27, 2026 18:21
@williamthome williamthome force-pushed the feat/update-roadrunner-0.2.1 branch from 9a22798 to 51143c4 Compare May 27, 2026 19:57
@williamthome williamthome force-pushed the feat/update-roadrunner-0.2.1 branch from 51143c4 to 2453cae Compare May 27, 2026 19:58
@williamthome williamthome changed the title Update roadrunner to 0.2.2 with HTTP/3 support Update roadrunner to 0.2.3 with HTTP/3 support May 27, 2026
@williamthome williamthome marked this pull request as ready for review May 27, 2026 19:59
@williamthome
Copy link
Copy Markdown
Contributor Author

/benchmark -f roadrunner --save

@github-actions
Copy link
Copy Markdown
Contributor

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

@williamthome
Copy link
Copy Markdown
Contributor Author

Hey @MDA2AV! Sorry for that sequence of runs, but I made some fixes based on the bench numbers.
Now it should be ready to ship o/

@github-actions
Copy link
Copy Markdown
Contributor

Benchmark Results

Framework: roadrunner | Test: all tests

Test Conn RPS CPU Mem Δ RPS Δ Mem
baseline 512 771,470 6098.9% 315MiB -7.4% +12.5%
baseline 4096 687,020 5084.2% 307MiB -18.9% +6.6%
pipelined 512 1,264,314 6319.6% 196MiB -10.2% +7.7%
pipelined 4096 1,255,480 6070.1% 202MiB -10.9% -10.2%
limited-conn 512 378,539 4058.0% 223MiB -6.8% -3.9%
limited-conn 4096 383,929 3698.9% 257MiB -5.1% +19.0%
json 4096 195,619 5364.9% 566MiB -5.2% -22.5%
json-comp 512 97,375 6190.2% 798MiB -7.1% -9.0%
json-comp 4096 102,974 6200.1% 853MiB +9.7% -0.5%
json-comp 16384 109,497 6214.0% 807MiB +5.2% -8.9%
json-tls 4096 52,067 3127.5% 462MiB -0.3% -4.5%
upload 32 2,875 1874.9% 479MiB +1.7% +35.3%
upload 256 2,948 4632.1% 626MiB +0.9% +19.7%
api-4 256 18,246 401.1% 163MiB -9.7% -2.4%
api-16 1024 45,279 1543.3% 349MiB +8.4% +12.6%
static 1024 123,152 4305.1% 197MiB +660.9% +14.5%
static 4096 120,027 4418.6% 201MiB +438.4% +6.9%
static 6800 136,092 4447.8% 203MiB +737.1% +20.8%
async-db 1024 84,905 5216.3% 629MiB +0.6% -2.6%
crud 4096 197,967 4798.0% 380MiB +4.6% -2.3%
fortunes 1024 42,445 5252.2% 908MiB -10.0% +4.0%
baseline-h2 256 464,149 6401.6% 560MiB -4.1% +11.1%
baseline-h2 1024 472,506 6229.1% 587MiB -4.1% +5.8%
static-h2 256 21,484 4618.8% 951MiB +14.8% +35.3%
static-h2 1024 11,948 4358.7% 724MiB -35.8% -41.1%
baseline-h2c 256 834,328 6297.9% 559MiB -9.5% -3.5%
baseline-h2c 1024 887,621 6263.1% 583MiB -5.4% +14.5%
baseline-h2c 4096 889,727 6107.1% 553MiB -3.4% -3.7%
json-h2c 1024 119,579 6229.8% 1.7GiB +5.7% +13.3%
json-h2c 4096 136,893 6063.5% 1.8GiB +10.2% +12.5%
baseline-h3 64 56,956 5837.1% 1.0GiB NEW NEW
static-h3 64 2,945 4479.8% 730MiB NEW NEW
echo-ws 512 889,751 5627.7% 341MiB +6.4% +14.4%
echo-ws 4096 494,296 5135.6% 262MiB -26.5% -11.2%
echo-ws 16384 848,105 5601.5% 325MiB +44.8% +21.3%
echo-ws-pipeline 512 1,922,539 6242.5% 202MiB -8.2% +9.8%
echo-ws-pipeline 4096 1,676,864 5652.5% 255MiB -22.1% +32.8%
echo-ws-pipeline 16384 1,121,389 4222.9% 213MiB -47.7% +10.9%
Full log

[run 1/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   1.53ms   2.12ms   2.88ms   3.85ms   5.78ms

  7819828 frames sent in 5.00s, 7819831 frames received
  Throughput: 1.56M req/s
  Bandwidth:  10.44MB/s
  WS upgrades: 150
  WS frames:   7819831
  Latency samples: 7819816 / 7819831 responses (100.0%)
  Reconnects: 193986
[info] CPU 5144.4% | Mem 247MiB

[run 2/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   2.14ms   2.10ms   2.69ms   2.94ms   3.60ms

  4517302 frames sent in 5.00s, 4517302 frames received
  Throughput: 903.14K req/s
  Bandwidth:  6.03MB/s
  WS upgrades: 121
  WS frames:   4517302
  Latency samples: 4517302 / 4517302 responses (100.0%)
  Reconnects: 236011
[info] CPU 3659.6% | Mem 220MiB

[run 3/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   1.24ms    821us   2.40ms   4.26ms   6.89ms

  8385260 frames sent in 5.00s, 8384321 frames received
  Throughput: 1.68M req/s
  Bandwidth:  11.19MB/s
  WS upgrades: 150
  WS frames:   8384321
  Latency samples: 8384321 / 8384321 responses (100.0%)
  Reconnects: 149621
[info] CPU 5652.5% | Mem 255MiB

=== Best: 1676864 req/s (CPU: 5652.5%, Mem: 255MiB) ===
[info] saved results/echo-ws-pipeline/4096/roadrunner.json
httparena-bench-roadrunner
httparena-bench-roadrunner

==============================================
=== roadrunner / echo-ws-pipeline / 16384c (tool=gcannon) ===
==============================================
[info] waiting for server...
[info] server ready

[run 1/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     16384 (256/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   5.96ms   5.97ms   6.19ms   6.75ms   7.85ms

  2002073 frames sent in 5.00s, 1999673 frames received
  Throughput: 399.79K req/s
  Bandwidth:  2.67MB/s
  WS upgrades: 150
  WS frames:   1999673
  Latency samples: 1999673 / 1999673 responses (100.0%)
  Reconnects: 270610
[info] CPU 1925.5% | Mem 191MiB

[run 2/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     16384 (256/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   2.13ms   2.77ms   2.91ms   3.56ms   5.51ms

  5609345 frames sent in 5.00s, 5606948 frames received
  Throughput: 1.12M req/s
  Bandwidth:  7.49MB/s
  WS upgrades: 150
  WS frames:   5606948
  Latency samples: 5606948 / 5606948 responses (100.0%)
  Reconnects: 223414
[info] CPU 4222.9% | Mem 213MiB

[run 3/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     16384 (256/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   1.96ms   2.14ms   2.86ms   3.09ms   5.32ms

  5396871 frames sent in 5.00s, 5394664 frames received
  Throughput: 1.08M req/s
  Bandwidth:  7.20MB/s
  WS upgrades: 138
  WS frames:   5394664
  Latency samples: 5394664 / 5394664 responses (100.0%)
  Reconnects: 224179
[info] CPU 3902.6% | Mem 229MiB

=== Best: 1121389 req/s (CPU: 4222.9%, Mem: 213MiB) ===
[info] saved results/echo-ws-pipeline/16384/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/api-16-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/api-4-256.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/async-db-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-h2-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-h2-256.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-h2c-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-h2c-256.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-h2c-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-h3-64.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/crud-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-16384.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-pipeline-16384.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-pipeline-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-pipeline-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/fortunes-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/json-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/json-comp-16384.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/json-comp-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/json-comp-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/json-h2c-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/json-h2c-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/json-tls-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/limited-conn-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/limited-conn-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/pipelined-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/pipelined-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-6800.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-h2-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-h2-256.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-h3-64.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/upload-256.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/upload-32.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/current.json
[info] done
httparena-postgres
httparena-redis
[info] restoring loopback MTU to 65536
[info] restoring CPU governor → powersave

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.

1 participant