Vinyl polish - #1197
Conversation
Vinyl Cache has known limits for the kind of synthetic benchmark used here. Switch to the main branch, where we addressed these in part. See https://code.vinyl-cache.org/vinyl-cache/vinyl-cache/pulls/4365 for details. Also add myself as a maintainer (I am one for Vinyl Cache, see https://vinyl-cache.org/organization/index.html)
|
👋 Heads up! This PR modifies the following frameworks:
|
|
/benchmark -f vinyl-cache |
|
👋 Benchmark request received. A collaborator will review and approve the run. |
Benchmark ResultsFramework:
Full log |
|
I have added two more changes, taking advantage of the fact that the PR has not been reviewed yet
|
|
/benchmark -f vinyl-cache |
|
👋 Benchmark request received. A collaborator will review and approve the run. |
Benchmark ResultsFramework:
Full log |
MDA2AV
left a comment
There was a problem hiding this comment.
Thank you for the contribution, here are just a few notes before I merge this.
The previous approach was just copying over a file, which could (and did) lead to it being out of sync for updates. Use a patch, which hopefully has a longer lifetime.
To achieve comparable results, avoid any logging related contention This matches, for example, the nginx config, which has "access_log off;" As an alternative, the project could decide to also include some logging requirements.
|
@MDA2AV feedback addressed in force push |
|
Doing a final run with save flag to publish results and docker logs /benchmark -f vinyl-cache --save |
|
👋 Benchmark request received. A collaborator will review and approve the run. |
Benchmark ResultsFramework:
Full log |
* Varnish polish take a page out of #1197 and disable logs. Also, lowercase `display_name` to align to the repository style. * Benchmark results: varnish [skip ci] --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Firstly, thank you to @gquintard for getting this done initially! (ref #1132 https://code.vinyl-cache.org/vinyl-cache/vinyl-cache/issues/4544)
Description
Vinyl Cache has known limits for the kind of synthetic benchmark used here. Switch to the main branch, where we addressed these in part (3 months ago, so this is unrelated to HttpArena)
See https://code.vinyl-cache.org/vinyl-cache/vinyl-cache/pulls/4365 for details.
Also add myself as a maintainer (I am one for Vinyl Cache, see https://vinyl-cache.org/organization/index.html)
PR Commands — comment on this PR to trigger (requires collaborator approval):
/benchmark -f <framework>/benchmark -f <framework> -t <test>/benchmark -f <framework> --save/benchmark -f <framework> -t <test> --save/benchmark -f <framework> --compare <other>/benchmark-multiple -f <fw1>,<fw2>,...-tand--savetoo; saved results land in a single commit/benchmark-multiple --save-fneeded: benchmark and save every framework the PR touches/benchmark-test -t <test><test>and save the resultsFor
/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.--compareworks 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,--comparere-bases them on another entry instead:The reply states which baseline it used, and profiles the other framework does not run show
n/arather 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.
Requirements: Docker Engine on Linux. Load generators (gcannon, h2load, h2load-h3, wrk, ghz) are built as self-contained Docker images on first run.