Skip to content

[roda] Set RUBY_MAX_CPU to number of processors#795

Closed
p8 wants to merge 1 commit into
MDA2AV:mainfrom
p8:roda/ruby-max-cpu
Closed

[roda] Set RUBY_MAX_CPU to number of processors#795
p8 wants to merge 1 commit into
MDA2AV:mainfrom
p8:roda/ruby-max-cpu

Conversation

@p8
Copy link
Copy Markdown
Contributor

@p8 p8 commented Jun 3, 2026

No description provided.

@p8
Copy link
Copy Markdown
Contributor Author

p8 commented Jun 3, 2026

/benchmark -f roda

@p8 p8 marked this pull request as draft June 3, 2026 19:53
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jun 3, 2026

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

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jun 3, 2026

Benchmark Results

Framework: roda | Test: all tests

Test Conn RPS CPU Mem Δ RPS Δ Mem
baseline 512 102,619 4764.6% 9.3GiB +1.0% +1.1%
baseline 4096 55,798 4104.5% 8.6GiB -3.9% +2.4%
pipelined 512 732,940 6627.3% 1.7GiB +0.4% ~0%
pipelined 4096 704,360 6616.8% 2.0GiB -0.2% -4.8%
limited-conn 512 28,941 3769.1% 5.6GiB -0.3% ~0%
limited-conn 4096 29,104 3619.0% 6.4GiB +1.7% ~0%
json 4096 246,284 6242.5% 4.7GiB -1.5% +9.3%
json-comp 512 129,815 6431.7% 3.4GiB +0.4% ~0%
json-comp 4096 142,349 6435.1% 5.0GiB ~0% -2.0%
json-comp 16384 141,559 6267.6% 5.5GiB ~0% ~0%
json-tls 4096 216,398 6481.1% 6.2GiB -2.1% -4.6%
upload 32 958 3053.8% 8.8GiB +0.2% -3.3%
upload 256 898 6521.6% 7.6GiB -0.7% -15.6%
api-4 256 20,190 396.1% 513MiB +1.5% -1.5%
api-16 1024 49,408 1635.3% 1.1GiB -0.7% -31.2%
static 1024 142,059 6527.5% 5.6GiB +2.8% +3.7%
static 4096 137,114 6506.5% 5.7GiB -2.0% -1.7%
static 6800 138,541 6491.0% 6.6GiB -0.2% +1.5%
async-db 1024 117,199 6297.7% 2.5GiB ~0% ~0%
crud 4096 60,642 2743.7% 3.4GiB -0.3% ~0%
Full log


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   8.49ms   7.57ms   13.90ms   25.40ms   84.50ms

  1127523 requests in 10.00s, 1127525 responses
  Throughput: 112.73K req/s
  Bandwidth:  455.89MB/s
  Status codes: 2xx=1127525, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 1127525 / 1127525 responses (100.0%)
  Reconnects: 44605
  Per-template: 224995,225501,225993,225705,225331
  Per-template-ok: 224995,225501,225993,225705,225331
[info] CPU 6058.1% | Mem 2.4GiB

[run 2/3]
gcannon v0.5.3
  Target:    localhost:8080/
  Threads:   64
  Conns:     1024 (16/thread)
  Pipeline:  1
  Req/conn:  25
  Templates: 5
  Expected:  200
  Duration:  10s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   8.01ms   7.41ms   13.30ms   20.40ms   30.00ms

  1171992 requests in 10.00s, 1171994 responses
  Throughput: 117.17K req/s
  Bandwidth:  473.65MB/s
  Status codes: 2xx=1171994, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 1171993 / 1171994 responses (100.0%)
  Reconnects: 46615
  Per-template: 233734,234684,235011,234885,233679
  Per-template-ok: 233734,234684,235011,234885,233679
[info] CPU 6297.7% | Mem 2.5GiB

[run 3/3]
gcannon v0.5.3
  Target:    localhost:8080/
  Threads:   64
  Conns:     1024 (16/thread)
  Pipeline:  1
  Req/conn:  25
  Templates: 5
  Expected:  200
  Duration:  10s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   8.12ms   7.57ms   13.30ms   20.30ms   29.10ms

  1169459 requests in 10.00s, 1169458 responses
  Throughput: 116.92K req/s
  Bandwidth:  472.44MB/s
  Status codes: 2xx=1169458, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 1169457 / 1169458 responses (100.0%)
  Reconnects: 46527
  Per-template: 233364,234151,234781,234235,232926
  Per-template-ok: 233364,234151,234781,234235,232926
[info] CPU 6349.8% | Mem 2.6GiB

=== Best: 117199 req/s (CPU: 6297.7%, Mem: 2.5GiB) ===
[info] input BW: 7.82MB/s (avg template: 70 bytes)
[info] saved results/async-db/1024/roda.json
httparena-bench-roda
httparena-bench-roda

==============================================
=== roda / crud / 4096c (tool=gcannon) ===
==============================================
[info] waiting for server...
[info] server ready

[run 1/3]
gcannon v0.5.3
  Target:    localhost:8080/
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  1
  Req/conn:  200
  Templates: 20
  Expected:  200
  Duration:  15s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   69.77ms   69.90ms   79.60ms   94.00ms   295.80ms

  845264 requests in 15.00s, 842801 responses
  Throughput: 56.18K req/s
  Bandwidth:  18.06MB/s
  Status codes: 2xx=842801, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 842801 / 842801 responses (100.0%)
  Reconnects: 2589
  Per-template: 42674,42589,41907,42063,41753,42084,41993,42098,42087,41623,42061,41455,41628,42315,42173,41703,42075,43832,42645,42043
  Per-template-ok: 42674,42589,41907,42063,41753,42084,41993,42098,42087,41623,42061,41455,41628,42315,42173,41703,42075,43832,42645,42043
[info] CPU 2858.2% | Mem 3.1GiB

[run 2/3]
gcannon v0.5.3
  Target:    localhost:8080/
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  1
  Req/conn:  200
  Templates: 20
  Expected:  200
  Duration:  15s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   65.20ms   66.70ms   73.40ms   86.00ms   101.50ms

  913545 requests in 15.00s, 909641 responses
  Throughput: 60.63K req/s
  Bandwidth:  19.39MB/s
  Status codes: 2xx=909641, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 909640 / 909641 responses (100.0%)
  Reconnects: 3729
  Per-template: 45709,45558,45386,45517,45376,45274,45559,45411,45473,45290,45216,45249,45286,45456,45275,45282,44645,47848,45414,45416
  Per-template-ok: 45709,45558,45386,45517,45376,45274,45559,45411,45473,45290,45216,45249,45286,45456,45275,45282,44645,47848,45414,45416
[info] CPU 2743.7% | Mem 3.4GiB

[run 3/3]
gcannon v0.5.3
  Target:    localhost:8080/
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  1
  Req/conn:  200
  Templates: 20
  Expected:  200
  Duration:  15s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   67.25ms   68.40ms   75.40ms   87.30ms   112.30ms

  891957 requests in 15.00s, 889810 responses
  Throughput: 59.31K req/s
  Bandwidth:  18.94MB/s
  Status codes: 2xx=889810, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 889807 / 889810 responses (100.0%)
  Reconnects: 3498
  Per-template: 44899,44998,44433,44393,44477,44658,44154,44236,44136,44324,44318,44393,44192,44309,44314,44239,43476,46913,44467,44478
  Per-template-ok: 44899,44998,44433,44393,44477,44658,44154,44236,44136,44324,44318,44393,44192,44309,44314,44239,43476,46913,44467,44478
[info] CPU 2805.1% | Mem 3.4GiB

=== Best: 60642 req/s (CPU: 2743.7%, Mem: 3.4GiB) ===
[info] input BW: 5.20MB/s (avg template: 90 bytes)
[info] saved results/crud/4096/roda.json
httparena-bench-roda
httparena-bench-roda
[info] skip: roda does not subscribe to fortunes
[info] skip: roda does not subscribe to baseline-h2
[info] skip: roda does not subscribe to static-h2
[info] skip: roda does not subscribe to baseline-h2c
[info] skip: roda does not subscribe to json-h2c
[info] skip: roda does not subscribe to baseline-h3
[info] skip: roda does not subscribe to static-h3
[info] skip: roda does not subscribe to gateway-64
[info] skip: roda does not subscribe to gateway-h3
[info] skip: roda does not subscribe to production-stack
[info] skip: roda does not subscribe to unary-grpc
[info] skip: roda does not subscribe to unary-grpc-tls
[info] skip: roda does not subscribe to stream-grpc
[info] skip: roda does not subscribe to stream-grpc-tls
[info] skip: roda does not subscribe to echo-ws
[info] skip: roda does not subscribe to echo-ws-pipeline
[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/crud-4096.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-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/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

@p8 p8 closed this Jun 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.

1 participant