Skip to content

[rails] Add crud#780

Open
p8 wants to merge 1 commit into
MDA2AV:mainfrom
p8:rails/crud
Open

[rails] Add crud#780
p8 wants to merge 1 commit into
MDA2AV:mainfrom
p8:rails/crud

Conversation

@p8
Copy link
Copy Markdown
Contributor

@p8 p8 commented Jun 2, 2026

No description provided.

@p8
Copy link
Copy Markdown
Contributor Author

p8 commented Jun 2, 2026

/benchmark -f rails -t crud

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jun 2, 2026

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

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jun 2, 2026

Benchmark Results

Framework: rails | Test: crud

Test Conn RPS CPU Mem Δ RPS Δ Mem
crud 4096 60,758 4379.0% 4.3GiB NEW NEW
Full log
[info] crud experiment CPU layout: redis=0,64 | server=1-31,65-95 | gcannon=32-63,96-127 | postgres=unpinned
[info] available CPUs: 128
[info] framework: rails (rails, Ruby)
[info] subscribed tests: baseline,pipelined,limited-conn,json,json-comp,json-tls,upload,api-4,api-16,async-db,crud,static
[info] building image: httparena-rails
#0 building with "default" instance using docker driver

#1 [internal] load build definition from Dockerfile
#1 transferring dockerfile: 605B done
#1 DONE 0.0s

#2 [internal] load metadata for docker.io/library/ruby:4.0-slim
#2 DONE 0.9s

#3 [internal] load .dockerignore
#3 transferring context: 2B done
#3 DONE 0.0s

#4 [internal] load build context
#4 transferring context: 20.28kB done
#4 DONE 0.0s

#5 [1/7] FROM docker.io/library/ruby:4.0-slim@sha256:86a2ff44ce474c1c9bd11dfb2fd7fe5408a5bfe8236b9bc6013e2c6ef4c02d39
#5 resolve docker.io/library/ruby:4.0-slim@sha256:86a2ff44ce474c1c9bd11dfb2fd7fe5408a5bfe8236b9bc6013e2c6ef4c02d39 0.1s done
#5 DONE 0.1s

#6 [2/7] RUN apt-get update &&     apt-get install -y --no-install-recommends build-essential libpq-dev libyaml-dev libjemalloc2 libpq5 &&     rm -rf /var/lib/apt/lists/*
#6 CACHED

#7 [4/7] COPY Gemfile* .
#7 CACHED

#8 [5/7] RUN bundle config set deployment 'true'
#8 CACHED

#9 [6/7] RUN bundle install --jobs=$(nproc)
#9 CACHED

#10 [3/7] WORKDIR /app
#10 CACHED

#11 [7/7] COPY . .
#11 CACHED

#12 exporting to image
#12 exporting layers done
#12 exporting manifest sha256:6aa10acbbd1bcf86b333c2234f50f4b2d264cb822e1037fb9343e7706366f468 done
#12 exporting config sha256:9c985cb624523aa9389202e0c646bc5cbf729e7110e0002185e05bbe9c72ee5b done
#12 exporting attestation manifest sha256:89b1b0516ab17762fd930fc279cc1a7f824109e09feb9a9cb1f70f240623798d 0.0s done
#12 exporting manifest list sha256:feec1f631b0ab380bb4b0a2ccddc37b7371a879dcc0bd6335713e9f66b1cd33e 0.0s done
#12 naming to docker.io/library/httparena-rails:latest
#12 naming to docker.io/library/httparena-rails:latest done
#12 unpacking to docker.io/library/httparena-rails:latest done
#12 DONE 0.2s
[info] tuning host for benchmark runs
[info] CPU governor → performance
[info] setting kernel socket limits
[info] setting UDP buffer sizes for QUIC
[info] setting loopback MTU to 1500 (realistic Ethernet)
[info] restarting docker daemon
[info] dropping kernel caches
[info] starting postgres sidecar
[info] postgres ready (seeded)
[info] starting redis sidecar (cpuset=0,64)
[info] redis ready

==============================================
=== rails / 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   68.60ms   67.40ms   77.70ms   101.60ms   360.60ms

  857379 requests in 15.00s, 854859 responses
  Throughput: 56.98K req/s
  Bandwidth:  25.47MB/s
  Status codes: 2xx=854859, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 854859 / 854859 responses (100.0%)
  Reconnects: 2847
  Per-template: 43006,42817,42911,42682,42528,42656,42757,42429,42557,42670,42610,42806,42952,42659,43021,42471,42193,43761,42730,42643
  Per-template-ok: 43006,42817,42911,42682,42528,42656,42757,42429,42557,42670,42610,42806,42952,42659,43021,42471,42193,43761,42730,42643
[info] CPU 4543.3% | Mem 4.2GiB

[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   66.82ms   68.80ms   75.40ms   91.10ms   274.60ms

  886909 requests in 15.00s, 884751 responses
  Throughput: 58.97K req/s
  Bandwidth:  26.36MB/s
  Status codes: 2xx=884751, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 884746 / 884751 responses (100.0%)
  Reconnects: 3046
  Per-template: 44113,44497,44190,44302,43873,44281,44325,44154,43985,44486,44116,43860,44117,44341,44286,44207,43939,45515,44189,43970
  Per-template-ok: 44113,44497,44190,44302,43873,44281,44325,44154,43985,44486,44116,43860,44117,44341,44286,44207,43939,45515,44189,43970
[info] CPU 4395.2% | Mem 4.2GiB

[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   65.07ms   66.50ms   72.90ms   87.70ms   134.30ms

  913746 requests in 15.00s, 911384 responses
  Throughput: 60.75K req/s
  Bandwidth:  27.12MB/s
  Status codes: 2xx=911384, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 911382 / 911384 responses (100.0%)
  Reconnects: 3812
  Per-template: 45598,45968,45577,45415,45709,45660,45614,45401,45403,45828,45359,45552,45207,45529,45301,45516,44948,46922,45428,45447
  Per-template-ok: 45598,45968,45577,45415,45709,45660,45614,45401,45403,45828,45359,45552,45207,45529,45301,45516,44948,46922,45428,45447
[info] CPU 4379.0% | Mem 4.3GiB

=== Best: 60758 req/s (CPU: 4379.0%, Mem: 4.3GiB) ===
[info] input BW: 5.21MB/s (avg template: 90 bytes)
[info] saved results/crud/4096/rails.json
httparena-bench-rails
httparena-bench-rails
[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/crud-4096.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 → performance

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