Skip to content

Re-enable Vinyl Cache after regression has been fixed - #1307

Merged
MDA2AV merged 3 commits into
MDA2AV:mainfrom
nigoroll:vinyl-fixed
Aug 25, 2026
Merged

Re-enable Vinyl Cache after regression has been fixed#1307
MDA2AV merged 3 commits into
MDA2AV:mainfrom
nigoroll:vinyl-fixed

Conversation

@nigoroll

Copy link
Copy Markdown
Contributor

Context: #1285 (comment)

HttpArena has actually uncovered an important regression from a merge of a performance optimization at the end of June, so we are enormously grateful to this project.

This commit re-enables Vinyl Cache testing after the fix, see https://code.vinyl-cache.org/vinyl-cache/vinyl-cache/issues/4575 for details.

The root cause of the bug was a missing update of an internal state for the case of read aheads, which triggered a consistency assertion.

Again, thank you!

Description


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-11 --compare genhttp-11-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.

@github-actions

Copy link
Copy Markdown
Contributor

👋 Heads up! This PR modifies the following frameworks:

@nigoroll

Copy link
Copy Markdown
Contributor Author

/benchmark -f vinyl-cache

@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: vinyl-cache | Test: all tests

Test Conn RPS CPU Mem Δ RPS Δ Mem
baseline 512 808,559 6572.0% 159MiB ~0% ~0%
baseline 4096 782,263 6463.0% 305MiB ~0% ~0%
pipelined 512 2,306,991 6628.7% 106MiB ~0% ~0%
pipelined 4096 2,341,919 6520.1% 166MiB ~0% ~0%
limited-conn 512 412,142 6481.3% 204MiB ~0% ~0%
limited-conn 4096 392,675 6386.6% 228MiB ~0% ~0%
Full log
[info] server ready

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


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   1.24ms    880us   2.79ms   5.63ms   7.44ms

  2060712 requests in 5.00s, 2060714 responses
  Throughput: 412.04K req/s
  Bandwidth:  65.41MB/s
  Status codes: 2xx=2060714, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 2060706 / 2060714 responses (100.0%)
  Reconnects: 206035
  Per-template: 686850,686715,687141
  Per-template-ok: 686850,686715,687141
[info] CPU 6481.3% | Mem 204MiB

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


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   1.24ms    900us   2.81ms   5.40ms   7.24ms

  2049126 requests in 5.00s, 2049134 responses
  Throughput: 409.67K req/s
  Bandwidth:  65.07MB/s
  Status codes: 2xx=2049134, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 2049130 / 2049134 responses (100.0%)
  Reconnects: 204893
  Per-template: 683364,682769,682997
  Per-template-ok: 683364,682769,682997
[info] CPU 6577.1% | Mem 230MiB

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


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   1.24ms    932us   2.76ms   5.05ms   6.83ms

  2051477 requests in 5.00s, 2051481 responses
  Throughput: 410.13K req/s
  Bandwidth:  65.15MB/s
  Status codes: 2xx=2051481, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 2051470 / 2051481 responses (100.0%)
  Reconnects: 205124
  Per-template: 684075,683892,683503
  Per-template-ok: 684075,683892,683503
[info] CPU 6569.3% | Mem 249MiB

=== Best: 412142 req/s (CPU: 6481.3%, Mem: 204MiB) ===
[info] input BW: 31.84MB/s (avg template: 81 bytes)
[info] saved results/limited-conn/512/vinyl-cache.json
httparena-bench-vinyl-cache
httparena-bench-vinyl-cache

==============================================
=== vinyl-cache / limited-conn / 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:  10
  Templates: 3
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   4.62ms   1.07ms   12.70ms   26.30ms   230.00ms

  1963769 requests in 5.00s, 1963379 responses
  Throughput: 392.56K req/s
  Bandwidth:  62.33MB/s
  Status codes: 2xx=1963379, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 1963371 / 1963379 responses (100.0%)
  Reconnects: 196250
  Per-template: 654355,654941,654075
  Per-template-ok: 654355,654941,654075
[info] CPU 6386.6% | Mem 228MiB

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


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   4.04ms   1.13ms   10.30ms   26.30ms   231.60ms

  1952723 requests in 5.00s, 1952980 responses
  Throughput: 390.43K req/s
  Bandwidth:  62.06MB/s
  Status codes: 2xx=1952980, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 1952974 / 1952980 responses (100.0%)
  Reconnects: 195276
  Per-template: 649031,652838,651105
  Per-template-ok: 649031,652838,651105
[info] CPU 6586.8% | Mem 296MiB

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


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   4.08ms   1.24ms   9.87ms   27.30ms   232.50ms

  1947586 requests in 5.00s, 1947800 responses
  Throughput: 389.43K req/s
  Bandwidth:  61.94MB/s
  Status codes: 2xx=1947800, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 1947796 / 1947800 responses (100.0%)
  Reconnects: 194702
  Per-template: 647832,650508,649456
  Per-template-ok: 647832,650508,649456
[info] CPU 6441.1% | Mem 382MiB

=== Best: 392675 req/s (CPU: 6386.6%, Mem: 228MiB) ===
[info] input BW: 30.33MB/s (avg template: 81 bytes)
[info] saved results/limited-conn/4096/vinyl-cache.json
httparena-bench-vinyl-cache
httparena-bench-vinyl-cache
[info] skip: vinyl-cache does not subscribe to json
[info] skip: vinyl-cache does not subscribe to json-comp
[info] skip: vinyl-cache does not subscribe to json-tls
[info] skip: vinyl-cache does not subscribe to upload
[info] skip: vinyl-cache does not subscribe to api-4
[info] skip: vinyl-cache does not subscribe to api-16
[info] skip: vinyl-cache does not subscribe to static
[info] skip: vinyl-cache does not subscribe to static-tls
[info] skip: vinyl-cache does not subscribe to async-db
[info] skip: vinyl-cache does not subscribe to crud
[info] skip: vinyl-cache does not subscribe to fortunes
[info] skip: vinyl-cache does not subscribe to baseline-h2
[info] skip: vinyl-cache does not subscribe to static-h2
[info] skip: vinyl-cache does not subscribe to baseline-h2c
[info] skip: vinyl-cache does not subscribe to json-h2c
[info] skip: vinyl-cache does not subscribe to baseline-h3
[info] skip: vinyl-cache does not subscribe to static-h3
[info] skip: vinyl-cache does not subscribe to gateway-64
[info] skip: vinyl-cache does not subscribe to gateway-h3
[info] skip: vinyl-cache does not subscribe to production-stack
[info] skip: vinyl-cache does not subscribe to unary-grpc
[info] skip: vinyl-cache does not subscribe to unary-grpc-tls
[info] skip: vinyl-cache does not subscribe to echo-ws
[info] skip: vinyl-cache does not subscribe to echo-ws-pipeline
[info] skip: vinyl-cache does not subscribe to echo-ws-limited
[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/vinyl-cache.json - 6 new, 6 total
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/current.json
[info] done
[info] restoring loopback MTU to 65536

@MDA2AV

MDA2AV commented Aug 24, 2026

Copy link
Copy Markdown
Owner

/benchmark -f vinyl-cache --save

@github-actions

Copy link
Copy Markdown
Contributor

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

HttpArena has actually uncovered an important regression from a merge of
a performance optimization at the end of June, so we are enormously
grateful to this project.

Re-Enable Vinyl Cache testing after the fix, see
https://code.vinyl-cache.org/vinyl-cache/vinyl-cache/issues/4575 for
details.

The root cause of the bug was a missing update of an internal state for
the case of read aheads, which triggered a consistency assertion.

Again, thank you!
Repository owner deleted a comment from github-actions Bot Aug 24, 2026
@MDA2AV

MDA2AV commented Aug 24, 2026

Copy link
Copy Markdown
Owner

/benchmark -f vinyl-cache --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: vinyl-cache | Test: all tests

Test Conn RPS CPU Mem Δ RPS Δ Mem
baseline 512 769,695 6564.7% 159MiB ~0% ~0%
baseline 4096 763,948 6505.8% 306MiB ~0% ~0%
pipelined 512 2,263,277 6636.7% 112MiB ~0% ~0%
pipelined 4096 2,142,752 6548.5% 153MiB ~0% ~0%
limited-conn 512 385,631 6461.4% 203MiB ~0% ~0%
limited-conn 4096 379,043 6385.4% 228MiB ~0% ~0%
Full log
[info] server ready

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


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   1.32ms    991us   2.93ms   5.43ms   7.78ms

  1928150 requests in 5.00s, 1928158 responses
  Throughput: 385.46K req/s
  Bandwidth:  61.19MB/s
  Status codes: 2xx=1928158, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 1928497 / 1928158 responses (100.0%)
  Reconnects: 192730
  Per-template: 642905,642709,642536
  Per-template-ok: 642905,642709,642536
[info] CPU 6461.4% | Mem 203MiB

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


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   1.32ms    995us   2.96ms   5.37ms   7.36ms

  1923834 requests in 5.00s, 1923838 responses
  Throughput: 384.61K req/s
  Bandwidth:  61.09MB/s
  Status codes: 2xx=1923838, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 1923831 / 1923838 responses (100.0%)
  Reconnects: 192418
  Per-template: 641412,641222,641197
  Per-template-ok: 641412,641222,641197
[info] CPU 6587.0% | Mem 229MiB

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


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   1.32ms   1.02ms   2.93ms   5.09ms   6.99ms

  1923764 requests in 5.00s, 1923772 responses
  Throughput: 384.59K req/s
  Bandwidth:  61.09MB/s
  Status codes: 2xx=1923772, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 1923761 / 1923772 responses (100.0%)
  Reconnects: 192369
  Per-template: 641118,641509,641134
  Per-template-ok: 641118,641509,641134
[info] CPU 6561.0% | Mem 244MiB

=== Best: 385631 req/s (CPU: 6461.4%, Mem: 203MiB) ===
[info] input BW: 29.79MB/s (avg template: 81 bytes)
[info] saved results/limited-conn/512/vinyl-cache.json
httparena-bench-vinyl-cache
httparena-bench-vinyl-cache

==============================================
=== vinyl-cache / limited-conn / 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:  10
  Templates: 3
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   4.81ms   1.17ms   13.40ms   27.80ms   234.70ms

  1896025 requests in 5.00s, 1895215 responses
  Throughput: 378.84K req/s
  Bandwidth:  60.15MB/s
  Status codes: 2xx=1895215, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 1895204 / 1895215 responses (100.0%)
  Reconnects: 189346
  Per-template: 631609,632140,631455
  Per-template-ok: 631609,632140,631455
[info] CPU 6385.4% | Mem 228MiB

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


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   4.83ms   1.32ms   9.72ms   27.80ms   237.90ms

  1893040 requests in 5.00s, 1893173 responses
  Throughput: 378.35K req/s
  Bandwidth:  60.17MB/s
  Status codes: 2xx=1893173, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 1893169 / 1893173 responses (100.0%)
  Reconnects: 189228
  Per-template: 628554,632675,631939
  Per-template-ok: 628554,632675,631939
[info] CPU 6579.9% | Mem 358MiB

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


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   3.99ms   1.28ms   10.60ms   28.00ms   231.50ms

  1892402 requests in 5.00s, 1892595 responses
  Throughput: 378.32K req/s
  Bandwidth:  60.17MB/s
  Status codes: 2xx=1892595, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 1892587 / 1892595 responses (100.0%)
  Reconnects: 189308
  Per-template: 627677,634450,630460
  Per-template-ok: 627677,634450,630460
[info] CPU 6421.7% | Mem 386MiB

=== Best: 379043 req/s (CPU: 6385.4%, Mem: 228MiB) ===
[info] input BW: 29.28MB/s (avg template: 81 bytes)
[info] saved results/limited-conn/4096/vinyl-cache.json
httparena-bench-vinyl-cache
httparena-bench-vinyl-cache
[info] skip: vinyl-cache does not subscribe to json
[info] skip: vinyl-cache does not subscribe to json-comp
[info] skip: vinyl-cache does not subscribe to json-tls
[info] skip: vinyl-cache does not subscribe to upload
[info] skip: vinyl-cache does not subscribe to api-4
[info] skip: vinyl-cache does not subscribe to api-16
[info] skip: vinyl-cache does not subscribe to static
[info] skip: vinyl-cache does not subscribe to static-tls
[info] skip: vinyl-cache does not subscribe to async-db
[info] skip: vinyl-cache does not subscribe to crud
[info] skip: vinyl-cache does not subscribe to fortunes
[info] skip: vinyl-cache does not subscribe to baseline-h2
[info] skip: vinyl-cache does not subscribe to static-h2
[info] skip: vinyl-cache does not subscribe to baseline-h2c
[info] skip: vinyl-cache does not subscribe to json-h2c
[info] skip: vinyl-cache does not subscribe to baseline-h3
[info] skip: vinyl-cache does not subscribe to static-h3
[info] skip: vinyl-cache does not subscribe to gateway-64
[info] skip: vinyl-cache does not subscribe to gateway-h3
[info] skip: vinyl-cache does not subscribe to production-stack
[info] skip: vinyl-cache does not subscribe to unary-grpc
[info] skip: vinyl-cache does not subscribe to unary-grpc-tls
[info] skip: vinyl-cache does not subscribe to echo-ws
[info] skip: vinyl-cache does not subscribe to echo-ws-pipeline
[info] skip: vinyl-cache does not subscribe to echo-ws-limited
[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/vinyl-cache.json - 6 new, 6 total
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/current.json
[info] done
[info] restoring loopback MTU to 65536

@MDA2AV

MDA2AV commented Aug 25, 2026

Copy link
Copy Markdown
Owner

/benchmark -f vinyl-cache --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: vinyl-cache | Test: all tests

Test Conn RPS CPU Mem Δ RPS Δ Mem
baseline 512 791,786 6597.6% 158MiB +2.9% -0.6%
baseline 4096 772,040 6469.0% 293MiB +1.1% -4.2%
pipelined 512 2,265,877 6643.4% 103MiB +0.1% -8.0%
pipelined 4096 2,275,691 6507.4% 164MiB +6.2% +7.2%
limited-conn 512 384,889 6580.6% 229MiB -0.2% +12.8%
limited-conn 4096 419,321 6436.5% 228MiB +10.6% ~0%
Full log
[info] server ready

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


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   1.32ms   1.00ms   2.95ms   5.36ms   7.27ms

  1924374 requests in 5.00s, 1924384 responses
  Throughput: 384.65K req/s
  Bandwidth:  61.06MB/s
  Status codes: 2xx=1924384, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 1924382 / 1924384 responses (100.0%)
  Reconnects: 192363
  Per-template: 641316,641609,641457
  Per-template-ok: 641316,641609,641457
[info] CPU 6453.6% | Mem 202MiB

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


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   1.32ms   1.03ms   2.89ms   5.02ms   6.97ms

  1924437 requests in 5.00s, 1924445 responses
  Throughput: 384.73K req/s
  Bandwidth:  61.11MB/s
  Status codes: 2xx=1924445, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 1924438 / 1924445 responses (100.0%)
  Reconnects: 192436
  Per-template: 641635,641415,641388
  Per-template-ok: 641635,641415,641388
[info] CPU 6580.6% | Mem 229MiB

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


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   1.32ms   1.04ms   2.90ms   4.96ms   6.91ms

  1916732 requests in 5.00s, 1916735 responses
  Throughput: 383.18K req/s
  Bandwidth:  60.87MB/s
  Status codes: 2xx=1916735, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 1916726 / 1916735 responses (100.0%)
  Reconnects: 191700
  Per-template: 639151,638753,638822
  Per-template-ok: 639151,638753,638822
[info] CPU 6571.9% | Mem 246MiB

=== Best: 384889 req/s (CPU: 6580.6%, Mem: 229MiB) ===
[info] input BW: 29.73MB/s (avg template: 81 bytes)
[info] saved results/limited-conn/512/vinyl-cache.json
httparena-bench-vinyl-cache
httparena-bench-vinyl-cache

==============================================
=== vinyl-cache / limited-conn / 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:  10
  Templates: 3
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   4.07ms    986us   10.70ms   24.90ms   229.90ms

  2097259 requests in 5.00s, 2096605 responses
  Throughput: 419.15K req/s
  Bandwidth:  66.55MB/s
  Status codes: 2xx=2096605, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 2096598 / 2096605 responses (100.0%)
  Reconnects: 209593
  Per-template: 698954,699011,698633
  Per-template-ok: 698954,699011,698633
[info] CPU 6436.5% | Mem 228MiB

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


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   4.32ms   1.08ms   8.64ms   25.00ms   237.80ms

  2091907 requests in 5.00s, 2091714 responses
  Throughput: 418.16K req/s
  Bandwidth:  66.47MB/s
  Status codes: 2xx=2091714, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 2091705 / 2091714 responses (100.0%)
  Reconnects: 209163
  Per-template: 696162,699002,696541
  Per-template-ok: 696162,699002,696541
[info] CPU 6598.6% | Mem 300MiB

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


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   4.03ms   1.13ms   8.44ms   25.50ms   230.50ms

  2085335 requests in 5.00s, 2085800 responses
  Throughput: 417.03K req/s
  Bandwidth:  66.32MB/s
  Status codes: 2xx=2085800, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 2085794 / 2085800 responses (100.0%)
  Reconnects: 208768
  Per-template: 693530,695891,696373
  Per-template-ok: 693530,695891,696373
[info] CPU 6429.2% | Mem 376MiB

=== Best: 419321 req/s (CPU: 6436.5%, Mem: 228MiB) ===
[info] input BW: 32.39MB/s (avg template: 81 bytes)
[info] saved results/limited-conn/4096/vinyl-cache.json
httparena-bench-vinyl-cache
httparena-bench-vinyl-cache
[info] skip: vinyl-cache does not subscribe to json
[info] skip: vinyl-cache does not subscribe to json-comp
[info] skip: vinyl-cache does not subscribe to json-tls
[info] skip: vinyl-cache does not subscribe to upload
[info] skip: vinyl-cache does not subscribe to api-4
[info] skip: vinyl-cache does not subscribe to api-16
[info] skip: vinyl-cache does not subscribe to static
[info] skip: vinyl-cache does not subscribe to static-tls
[info] skip: vinyl-cache does not subscribe to async-db
[info] skip: vinyl-cache does not subscribe to crud
[info] skip: vinyl-cache does not subscribe to fortunes
[info] skip: vinyl-cache does not subscribe to baseline-h2
[info] skip: vinyl-cache does not subscribe to static-h2
[info] skip: vinyl-cache does not subscribe to baseline-h2c
[info] skip: vinyl-cache does not subscribe to json-h2c
[info] skip: vinyl-cache does not subscribe to baseline-h3
[info] skip: vinyl-cache does not subscribe to static-h3
[info] skip: vinyl-cache does not subscribe to gateway-64
[info] skip: vinyl-cache does not subscribe to gateway-h3
[info] skip: vinyl-cache does not subscribe to production-stack
[info] skip: vinyl-cache does not subscribe to unary-grpc
[info] skip: vinyl-cache does not subscribe to unary-grpc-tls
[info] skip: vinyl-cache does not subscribe to echo-ws
[info] skip: vinyl-cache does not subscribe to echo-ws-pipeline
[info] skip: vinyl-cache does not subscribe to echo-ws-limited
[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/vinyl-cache.json - 6 new, 6 total
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/current.json
[info] done
[info] restoring loopback MTU to 65536

@MDA2AV
MDA2AV merged commit c1b04b0 into MDA2AV:main Aug 25, 2026
@nigoroll

Copy link
Copy Markdown
Contributor Author

Thank you!

@nigoroll
nigoroll deleted the vinyl-fixed branch August 26, 2026 16:33
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