Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions frameworks/vinyl-cache/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ RUN set -ex; \
gcc \
make \
git \
patch \
python3 \
python3-docutils \
python3-sphinx \
Expand All @@ -18,13 +19,14 @@ RUN set -ex; \
ncurses-devel \
libedit-devel; \
cd /tmp; \
git clone --recurse-submodules --branch vinyl-cache-9.0.1 \
git clone --recurse-submodules --branch main \
https://code.vinyl-cache.org/vinyl-cache/vinyl-cache.git vinyl-cache

COPY vmod/ /tmp/vinyl-cache/vmod/

RUN set -ex; \
cd /tmp/vinyl-cache; \
patch -p1 <vmod/0001-Add-httparena-vmod-to-vmod-Makefile.am.patch; \
Comment thread
nigoroll marked this conversation as resolved.
./autogen.sh; \
./configure --prefix=/usr --sbindir=/usr/bin; \
make -j"$(nproc)"; \
Expand All @@ -44,7 +46,7 @@ RUN set -ex; \

COPY --from=build /out/ /
COPY default.vcl /etc/vinyl/default.vcl
COPY --chmod=0755 entrypoint.sh /entrypoint.sh
COPY entrypoint.sh /entrypoint.sh

EXPOSE 8080

Expand Down
7 changes: 6 additions & 1 deletion frameworks/vinyl-cache/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,15 @@ Vinyl Cache is the current name of what used to be called Varnish — same proje
## Stack

- **Language:** C
- **Engine:** vinyld 9.0.1 (vinyl-cache)
- **Engine:** vinyld main branch (vinyl-cache)
- **Build:** Multi-stage, built from source (autotools) on `fedora:43`
- **Dynamic logic:** `vmod_httparena`, a small C vmod to handle the `/baseline11` sum

## vmod_httparena VMOD

The custom vmod resides in `vmod/` and gets added to the source tree by copying
the relevant files and patching `Makefile.am`.

## Endpoints

| Endpoint | Method | Description |
Expand Down
4 changes: 2 additions & 2 deletions frameworks/vinyl-cache/default.vcl
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ sub vcl_synth {
set resp.http.Content-Type = "text/plain";

if (req.url == "/pipeline") {
synthetic("ok");
set resp.body = "ok";
} else if (req.url ~ "^/baseline11(\?|$)") {
synthetic(httparena.baseline_sum(req.url));
set resp.body = httparena.baseline_sum(req.url);
} else {
set resp.status = 404;
}
Expand Down
3 changes: 2 additions & 1 deletion frameworks/vinyl-cache/entrypoint.sh
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,5 @@ set -e
exec vinyld -F \
-a :8080 \
-f /etc/vinyl/default.vcl \
-s malloc,256m
-s malloc,256m \
-p vsl_mask=none
4 changes: 2 additions & 2 deletions frameworks/vinyl-cache/meta.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"display_name": "Vinyl Cache",
"language": "C",
"engine": "vinyld",
"type": "engine",
"type": "infrastructure",
"description": "Vinyl Cache HTTP accelerator.",
"repo": "https://code.vinyl-cache.org/vinyl-cache/vinyl-cache",
"enabled": true,
Expand All @@ -11,5 +11,5 @@
"pipelined",
"limited-conn"
],
"maintainers": ["gquintard"]
"maintainers": ["gquintard", "nigoroll"]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
From 6407d028bdafedb7e362a36f7096b16a86d370b1 Mon Sep 17 00:00:00 2001
From: Nils Goroll <nils.goroll@uplex.de>
Date: Mon, 17 Aug 2026 13:12:58 +0200
Subject: [PATCH] Add httparena vmod to vmod/Makefile.am

---
vmod/Makefile.am | 1 +
1 file changed, 1 insertion(+)

diff --git a/vmod/Makefile.am b/vmod/Makefile.am
index 0c2e8628c..538539e05 100644
--- a/vmod/Makefile.am
+++ b/vmod/Makefile.am
@@ -36,6 +36,7 @@ include $(srcdir)/automake_boilerplate_directors.am
include $(srcdir)/automake_boilerplate_math.am
include $(srcdir)/automake_boilerplate_proxy.am
include $(srcdir)/automake_boilerplate_purge.am
+include $(srcdir)/automake_boilerplate_httparena.am
include $(srcdir)/automake_boilerplate_std.am
include $(srcdir)/automake_boilerplate_unix.am
include $(srcdir)/automake_boilerplate_vtc.am
--
2.39.5

74 changes: 0 additions & 74 deletions frameworks/vinyl-cache/vmod/Makefile.am

This file was deleted.

2 changes: 1 addition & 1 deletion site/data/frameworks.json
Original file line number Diff line number Diff line change
Expand Up @@ -1338,7 +1338,7 @@
"dir": "vinyl-cache",
"description": "Vinyl Cache HTTP accelerator.",
"repo": "https://code.vinyl-cache.org/vinyl-cache/vinyl-cache",
"type": "engine",
"type": "infrastructure",
"engine": "vinyld"
},
"warp": {
Expand Down
102 changes: 51 additions & 51 deletions site/data/results/vinyl-cache.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,117 +4,117 @@
"baseline-4096": {
"framework": "Vinyl Cache",
"language": "C",
"rps": 190846,
"avg_latency": "5.23ms",
"p99_latency": "13.70ms",
"cpu": "6400.1%",
"memory": "190MiB",
"rps": 797101,
"avg_latency": "2.41ms",
"p99_latency": "8.08ms",
"cpu": "6471.8%",
"memory": "309MiB",
"connections": 4096,
"threads": 64,
"duration": "5s",
"pipeline": 1,
"bandwidth": "30.29MB/s",
"input_bw": "14.74MB/s",
"reconnects": 0,
"status_2xx": 954231,
"bandwidth": "126.69MB/s",
"input_bw": "61.57MB/s",
"reconnects": 2,
"status_2xx": 3985507,
"status_3xx": 0,
"status_4xx": 0,
"status_5xx": 0
},
"baseline-512": {
"framework": "Vinyl Cache",
"language": "C",
"rps": 190079,
"avg_latency": "2.69ms",
"p99_latency": "8.14ms",
"cpu": "6464.3%",
"memory": "197MiB",
"rps": 788894,
"avg_latency": "642us",
"p99_latency": "2.80ms",
"cpu": "6675.2%",
"memory": "186MiB",
"connections": 512,
"threads": 64,
"duration": "5s",
"pipeline": 1,
"bandwidth": "30.13MB/s",
"input_bw": "14.68MB/s",
"bandwidth": "125.14MB/s",
"input_bw": "60.94MB/s",
"reconnects": 0,
"status_2xx": 950398,
"status_2xx": 3944474,
"status_3xx": 0,
"status_4xx": 0,
"status_5xx": 0
},
"limited-conn-4096": {
"framework": "Vinyl Cache",
"language": "C",
"rps": 170931,
"avg_latency": "12.75ms",
"p99_latency": "68.10ms",
"cpu": "6509.1%",
"memory": "359MiB",
"rps": 411566,
"avg_latency": "4.74ms",
"p99_latency": "25.40ms",
"cpu": "6390.9%",
"memory": "231MiB",
"connections": 4096,
"threads": 64,
"duration": "5s",
"pipeline": 1,
"bandwidth": "27.16MB/s",
"input_bw": "13.20MB/s",
"reconnects": 85193,
"status_2xx": 854656,
"bandwidth": "65.32MB/s",
"input_bw": "31.79MB/s",
"reconnects": 205636,
"status_2xx": 2057832,
"status_3xx": 0,
"status_4xx": 0,
"status_5xx": 0
},
"limited-conn-512": {
"framework": "Vinyl Cache",
"language": "C",
"rps": 182363,
"avg_latency": "2.80ms",
"p99_latency": "8.48ms",
"cpu": "6396.8%",
"memory": "191MiB",
"rps": 418468,
"avg_latency": "1.22ms",
"p99_latency": "5.68ms",
"cpu": "6440.7%",
"memory": "202MiB",
"connections": 512,
"threads": 64,
"duration": "5s",
"pipeline": 1,
"bandwidth": "28.93MB/s",
"input_bw": "14.09MB/s",
"reconnects": 91086,
"status_2xx": 911818,
"bandwidth": "66.41MB/s",
"input_bw": "32.33MB/s",
"reconnects": 209159,
"status_2xx": 2092343,
"status_3xx": 0,
"status_4xx": 0,
"status_5xx": 0
},
"pipelined-4096": {
"framework": "Vinyl Cache",
"language": "C",
"rps": 308722,
"avg_latency": "77.81ms",
"p99_latency": "120.90ms",
"cpu": "6338.0%",
"memory": "238MiB",
"rps": 2402549,
"avg_latency": "8.39ms",
"p99_latency": "58.10ms",
"cpu": "6482.9%",
"memory": "179MiB",
"connections": 4096,
"threads": 64,
"duration": "5s",
"pipeline": 16,
"bandwidth": "49.07MB/s",
"reconnects": 3,
"status_2xx": 1543614,
"bandwidth": "381.45MB/s",
"reconnects": 0,
"status_2xx": 12012745,
"status_3xx": 0,
"status_4xx": 0,
"status_5xx": 0
},
"pipelined-512": {
"framework": "Vinyl Cache",
"language": "C",
"rps": 289681,
"avg_latency": "28.23ms",
"p99_latency": "37.50ms",
"cpu": "6525.0%",
"memory": "138MiB",
"rps": 2325451,
"avg_latency": "3.04ms",
"p99_latency": "26.70ms",
"cpu": "6640.7%",
"memory": "109MiB",
"connections": 512,
"threads": 64,
"duration": "5s",
"pipeline": 16,
"bandwidth": "45.93MB/s",
"reconnects": 0,
"status_2xx": 1448407,
"bandwidth": "368.68MB/s",
"reconnects": 2,
"status_2xx": 11627256,
"status_3xx": 0,
"status_4xx": 0,
"status_5xx": 0
Expand Down
4 changes: 2 additions & 2 deletions site/static/logs/baseline/4096/vinyl-cache.log
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Debug: Version: vinyl-cache-9.0.1 revision 423648c4cb6b225b3268ffc337354ea938f5efee
Debug: Platform: Linux,6.17.0-22-generic,x86_64,-jnone,-smalloc,-sdefault,-hcritbit
Debug: Version: vinyl-cache-trunk revision 4c225ee6943cfd132b43b3f54e1e755bd88e4290
Debug: Platform: Linux,6.17.0-22-generic,x86_64,-jnone,-smalloc,-sdefault,-ssynth,-hcritbit
Debug: Child (17) Started
Child launched OK
Info: Child (17) said Child starts
4 changes: 2 additions & 2 deletions site/static/logs/baseline/512/vinyl-cache.log
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Debug: Version: vinyl-cache-9.0.1 revision 423648c4cb6b225b3268ffc337354ea938f5efee
Debug: Platform: Linux,6.17.0-22-generic,x86_64,-jnone,-smalloc,-sdefault,-hcritbit
Debug: Version: vinyl-cache-trunk revision 4c225ee6943cfd132b43b3f54e1e755bd88e4290
Debug: Platform: Linux,6.17.0-22-generic,x86_64,-jnone,-smalloc,-sdefault,-ssynth,-hcritbit
Debug: Child (17) Started
Child launched OK
Info: Child (17) said Child starts
4 changes: 2 additions & 2 deletions site/static/logs/limited-conn/4096/vinyl-cache.log
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Debug: Version: vinyl-cache-9.0.1 revision 423648c4cb6b225b3268ffc337354ea938f5efee
Debug: Platform: Linux,6.17.0-22-generic,x86_64,-jnone,-smalloc,-sdefault,-hcritbit
Debug: Version: vinyl-cache-trunk revision 4c225ee6943cfd132b43b3f54e1e755bd88e4290
Debug: Platform: Linux,6.17.0-22-generic,x86_64,-jnone,-smalloc,-sdefault,-ssynth,-hcritbit
Debug: Child (17) Started
Child launched OK
Info: Child (17) said Child starts
4 changes: 2 additions & 2 deletions site/static/logs/limited-conn/512/vinyl-cache.log
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Debug: Version: vinyl-cache-9.0.1 revision 423648c4cb6b225b3268ffc337354ea938f5efee
Debug: Platform: Linux,6.17.0-22-generic,x86_64,-jnone,-smalloc,-sdefault,-hcritbit
Debug: Version: vinyl-cache-trunk revision 4c225ee6943cfd132b43b3f54e1e755bd88e4290
Debug: Platform: Linux,6.17.0-22-generic,x86_64,-jnone,-smalloc,-sdefault,-ssynth,-hcritbit
Debug: Child (17) Started
Child launched OK
Info: Child (17) said Child starts
Loading