From 553e36398d6f3dbef76f63939814fe430e11542b Mon Sep 17 00:00:00 2001 From: Guillaume Quintard Date: Tue, 1 Sep 2026 14:10:21 -0700 Subject: [PATCH 1/4] varnish: implement static-tls, baseline-h2c, upload - static-tls: second TLS frontend on :8081 reusing the existing vmod-fileserver /static/* route. - baseline-h2c: second cleartext listener on :8082; feature=+http2 already negotiates h2 prior-knowledge on it. - upload: new CountingWriter + httparena.upload_count() vmod function, reads and discards the body without buffering it. --- frameworks/varnish/Dockerfile | 2 +- frameworks/varnish/README.md | 16 ++++++++++++++++ frameworks/varnish/default.vcl | 2 ++ frameworks/varnish/entrypoint.sh | 1 + frameworks/varnish/meta.json | 5 ++++- frameworks/varnish/tls.conf | 9 +++++++++ frameworks/varnish/vmod/src/lib.rs | 30 +++++++++++++++++++++++++++++- 7 files changed, 62 insertions(+), 3 deletions(-) diff --git a/frameworks/varnish/Dockerfile b/frameworks/varnish/Dockerfile index 6a251e908..0564b646a 100644 --- a/frameworks/varnish/Dockerfile +++ b/frameworks/varnish/Dockerfile @@ -28,6 +28,6 @@ COPY default.vcl /etc/varnish/default.vcl COPY tls.conf /etc/varnish/tls.conf COPY --chmod=0755 entrypoint.sh /entrypoint.sh -EXPOSE 8080 8443 +EXPOSE 8080 8081 8082 8443 ENTRYPOINT ["/entrypoint.sh"] diff --git a/frameworks/varnish/README.md b/frameworks/varnish/README.md index 2d4daa213..0cb2643f5 100644 --- a/frameworks/varnish/README.md +++ b/frameworks/varnish/README.md @@ -30,7 +30,19 @@ backend process at all. | `/baseline11` | GET | Sums query parameter values, computed by `httparena.baseline_sum()` | | `/baseline11` | POST | Sums query parameters + request body | | `/baseline2` | GET | Same sum logic, over HTTP/2 + TLS (port 8443) | +| `/baseline2` (h2c) | GET | Same sum logic, over cleartext HTTP/2 prior-knowledge (port 8082) | | `/static/{filename}` | GET | Served by `vmod-fileserver` from `/data/static`, cached by Varnish | +| `/static/{filename}` (TLS) | GET | Same fileserver route, over HTTP/1.1 + TLS (port 8081) | +| `/upload` | POST | Reads and discards the body, computed by `httparena.upload_count()`; responds with the byte count | + +## Listeners + +| Port | Protocol | Used by | +|------|----------|---------| +| 8080 | HTTP/1.1 (cleartext) | `baseline`, `pipelined`, `limited-conn`, `upload`, `static` | +| 8081 | HTTP/1.1 + TLS | `static-tls` | +| 8082 | HTTP/2 (cleartext, prior-knowledge) | `baseline-h2c` | +| 8443 | HTTP/2 + TLS | `baseline-h2`, `static-h2` | ## Notes @@ -45,6 +57,10 @@ backend process at all. - POST bodies are read directly by the vmod via `Ctx::req_body` — no `std.cache_req_body()` needed, since nothing downstream (there's no real backend) needs to read the same body a second time. +- `/upload` reads the body through a counting `Write` sink that never buffers + it, so a 20 MB upload costs no allocation — `httparena.upload_count()` + ignores `req_body`'s own `Result` so a short/truncated body still reports + the bytes actually seen instead of echoing the declared `Content-Length`. - The vmod is built from source in a throwaway Docker build stage (Rust toolchain + `varnish-dev` headers matching the base image's exact version); only the compiled `.so` (and `/etc/mime.types`) is copied into the final diff --git a/frameworks/varnish/default.vcl b/frameworks/varnish/default.vcl index 17a31aade..32f9e0d6c 100644 --- a/frameworks/varnish/default.vcl +++ b/frameworks/varnish/default.vcl @@ -24,6 +24,8 @@ sub vcl_synth { synthetic("ok"); } else if (req.url ~ "^/baseline(11|2)(\?|$)") { synthetic(httparena.baseline_sum()); + } else if (req.url == "/upload") { + synthetic(httparena.upload_count()); } else { set resp.status = 404; } diff --git a/frameworks/varnish/entrypoint.sh b/frameworks/varnish/entrypoint.sh index 8e672c6b7..f7f7fea69 100755 --- a/frameworks/varnish/entrypoint.sh +++ b/frameworks/varnish/entrypoint.sh @@ -3,6 +3,7 @@ set -e exec varnishd -F \ -a :8080 \ + -a :8082 \ -A /etc/varnish/tls.conf \ -f /etc/varnish/default.vcl \ -p feature=+http2 \ diff --git a/frameworks/varnish/meta.json b/frameworks/varnish/meta.json index 0738baf05..aeb7b3a45 100644 --- a/frameworks/varnish/meta.json +++ b/frameworks/varnish/meta.json @@ -10,8 +10,11 @@ "baseline", "pipelined", "limited-conn", + "upload", + "static-tls", "baseline-h2", - "static-h2" + "static-h2", + "baseline-h2c" ], "maintainers": [ "guillaume.quintard@varnish-software.com" diff --git a/frameworks/varnish/tls.conf b/frameworks/varnish/tls.conf index 01d835507..f3f0e5ffb 100644 --- a/frameworks/varnish/tls.conf +++ b/frameworks/varnish/tls.conf @@ -6,3 +6,12 @@ frontend = { private-key = "/certs/server.key" } } + +frontend = { + host = "0.0.0.0" + port = "8081" + pem-file = { + cert = "/certs/server.crt" + private-key = "/certs/server.key" + } +} diff --git a/frameworks/varnish/vmod/src/lib.rs b/frameworks/varnish/vmod/src/lib.rs index 37a8480e2..96898e9c1 100644 --- a/frameworks/varnish/vmod/src/lib.rs +++ b/frameworks/varnish/vmod/src/lib.rs @@ -29,6 +29,24 @@ impl Write for FixedBuf { } } +/// Counts bytes written without storing them, for the upload benchmark: +/// the body must be read off the wire (so a truncated body or a chunked +/// transfer without Content-Length can't be shortcut), but never kept. +struct CountingWriter { + count: u64, +} + +impl Write for CountingWriter { + fn write(&mut self, buf: &[u8]) -> std::io::Result { + self.count += buf.len() as u64; + Ok(buf.len()) + } + + fn flush(&mut self) -> std::io::Result<()> { + Ok(()) + } +} + fn parse_query_sum(url: &str) -> i64 { let qs = match url.split_once('?') { Some((_, q)) => q, @@ -46,7 +64,7 @@ fn parse_query_sum(url: &str) -> i64 { mod httparena { use varnish::vcl::{Ctx, VclError}; - use super::{as_str, parse_query_sum}; + use super::{as_str, parse_query_sum, CountingWriter}; /// Sum the integer values of all query-string parameters, plus the /// request body for POST requests. @@ -83,4 +101,14 @@ mod httparena { Ok(sum.to_string()) } + + /// Read the request body and report how many bytes arrived, discarding + /// them as they're read. Ignores req_body's own Result: a short/aborted + /// body must still be reported as whatever byte count was actually + /// seen, not as an error or as the declared Content-Length. + pub fn upload_count(ctx: &mut Ctx) -> Result { + let mut writer = CountingWriter { count: 0 }; + let _ = ctx.req_body(&mut writer); + Ok(writer.count.to_string()) + } } From 82d8d34e6a3b6a6e10730c10b7b5e83e4b1c91ea Mon Sep 17 00:00:00 2001 From: Guillaume Quintard Date: Tue, 1 Sep 2026 14:41:06 -0700 Subject: [PATCH 2/4] varnish: drop upload (retired upstream), subscribe latency-10k upload was unscored and replaced by 8gbit upstream (#1373, #1382) before this branch's meta.json change landed, so CI correctly rejected it as an unknown profile. Removes the vmod's CountingWriter/upload_count and the /upload VCL route along with it. latency-10k already exists in the shared profile registry and drives the same GET /baseline11 baseline already validates, so subscribing costs no new code, same as latency-1m. --- frameworks/varnish/README.md | 10 ++++------ frameworks/varnish/default.vcl | 2 -- frameworks/varnish/meta.json | 4 ++-- frameworks/varnish/vmod/src/lib.rs | 30 +----------------------------- 4 files changed, 7 insertions(+), 39 deletions(-) diff --git a/frameworks/varnish/README.md b/frameworks/varnish/README.md index 0cb2643f5..6385fe2c8 100644 --- a/frameworks/varnish/README.md +++ b/frameworks/varnish/README.md @@ -33,13 +33,12 @@ backend process at all. | `/baseline2` (h2c) | GET | Same sum logic, over cleartext HTTP/2 prior-knowledge (port 8082) | | `/static/{filename}` | GET | Served by `vmod-fileserver` from `/data/static`, cached by Varnish | | `/static/{filename}` (TLS) | GET | Same fileserver route, over HTTP/1.1 + TLS (port 8081) | -| `/upload` | POST | Reads and discards the body, computed by `httparena.upload_count()`; responds with the byte count | ## Listeners | Port | Protocol | Used by | |------|----------|---------| -| 8080 | HTTP/1.1 (cleartext) | `baseline`, `pipelined`, `limited-conn`, `upload`, `static` | +| 8080 | HTTP/1.1 (cleartext) | `baseline`, `pipelined`, `limited-conn`, `latency-10k` | | 8081 | HTTP/1.1 + TLS | `static-tls` | | 8082 | HTTP/2 (cleartext, prior-knowledge) | `baseline-h2c` | | 8443 | HTTP/2 + TLS | `baseline-h2`, `static-h2` | @@ -57,10 +56,9 @@ backend process at all. - POST bodies are read directly by the vmod via `Ctx::req_body` — no `std.cache_req_body()` needed, since nothing downstream (there's no real backend) needs to read the same body a second time. -- `/upload` reads the body through a counting `Write` sink that never buffers - it, so a 20 MB upload costs no allocation — `httparena.upload_count()` - ignores `req_body`'s own `Result` so a short/truncated body still reports - the bytes actually seen instead of echoing the declared `Content-Length`. +- `latency-10k` drives the same `/baseline11` GET the `baseline` profile + already validates, just at a pinned 10K req/s instead of an open-loop + load — no extra code needed to subscribe. - The vmod is built from source in a throwaway Docker build stage (Rust toolchain + `varnish-dev` headers matching the base image's exact version); only the compiled `.so` (and `/etc/mime.types`) is copied into the final diff --git a/frameworks/varnish/default.vcl b/frameworks/varnish/default.vcl index 32f9e0d6c..17a31aade 100644 --- a/frameworks/varnish/default.vcl +++ b/frameworks/varnish/default.vcl @@ -24,8 +24,6 @@ sub vcl_synth { synthetic("ok"); } else if (req.url ~ "^/baseline(11|2)(\?|$)") { synthetic(httparena.baseline_sum()); - } else if (req.url == "/upload") { - synthetic(httparena.upload_count()); } else { set resp.status = 404; } diff --git a/frameworks/varnish/meta.json b/frameworks/varnish/meta.json index aeb7b3a45..c276aec1d 100644 --- a/frameworks/varnish/meta.json +++ b/frameworks/varnish/meta.json @@ -10,11 +10,11 @@ "baseline", "pipelined", "limited-conn", - "upload", "static-tls", "baseline-h2", "static-h2", - "baseline-h2c" + "baseline-h2c", + "latency-10k" ], "maintainers": [ "guillaume.quintard@varnish-software.com" diff --git a/frameworks/varnish/vmod/src/lib.rs b/frameworks/varnish/vmod/src/lib.rs index 96898e9c1..37a8480e2 100644 --- a/frameworks/varnish/vmod/src/lib.rs +++ b/frameworks/varnish/vmod/src/lib.rs @@ -29,24 +29,6 @@ impl Write for FixedBuf { } } -/// Counts bytes written without storing them, for the upload benchmark: -/// the body must be read off the wire (so a truncated body or a chunked -/// transfer without Content-Length can't be shortcut), but never kept. -struct CountingWriter { - count: u64, -} - -impl Write for CountingWriter { - fn write(&mut self, buf: &[u8]) -> std::io::Result { - self.count += buf.len() as u64; - Ok(buf.len()) - } - - fn flush(&mut self) -> std::io::Result<()> { - Ok(()) - } -} - fn parse_query_sum(url: &str) -> i64 { let qs = match url.split_once('?') { Some((_, q)) => q, @@ -64,7 +46,7 @@ fn parse_query_sum(url: &str) -> i64 { mod httparena { use varnish::vcl::{Ctx, VclError}; - use super::{as_str, parse_query_sum, CountingWriter}; + use super::{as_str, parse_query_sum}; /// Sum the integer values of all query-string parameters, plus the /// request body for POST requests. @@ -101,14 +83,4 @@ mod httparena { Ok(sum.to_string()) } - - /// Read the request body and report how many bytes arrived, discarding - /// them as they're read. Ignores req_body's own Result: a short/aborted - /// body must still be reported as whatever byte count was actually - /// seen, not as an error or as the declared Content-Length. - pub fn upload_count(ctx: &mut Ctx) -> Result { - let mut writer = CountingWriter { count: 0 }; - let _ = ctx.req_body(&mut writer); - Ok(writer.count.to_string()) - } } From 33e8ec2c32b41b4758d216c7de4738c114ceae35 Mon Sep 17 00:00:00 2001 From: Guillaume Quintard Date: Tue, 1 Sep 2026 14:46:47 -0700 Subject: [PATCH 3/4] varnish: cap /static/* object TTL so static-tls tracks the disk MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit default.vcl had no vcl_backend_response, so fetched objects held Varnish's default TTL (~120s) — well past the 30s staleness window infrastructure entries get. static-tls's fileserver.root() backend is otherwise identical to static-h2's, but only static-tls's suite runs the staleness probe, so this was the first place it surfaced. 5s keeps this a real cache (repeat requests still served from memory) while revalidating against the mounted directory inside the probe's window. --- frameworks/varnish/default.vcl | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/frameworks/varnish/default.vcl b/frameworks/varnish/default.vcl index 17a31aade..111b77799 100644 --- a/frameworks/varnish/default.vcl +++ b/frameworks/varnish/default.vcl @@ -17,6 +17,14 @@ sub vcl_recv { } } +sub vcl_backend_response { + if (bereq.url ~ "^/static/") { + # Real caching, just revalidated often enough to notice a file that + # changed on disk within the staleness probe's window. + set beresp.ttl = 5s; + } +} + sub vcl_synth { set resp.http.Content-Type = "text/plain"; From 36e715130e4992715561815331c72478901ce1b9 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 2 Sep 2026 05:27:51 +0000 Subject: [PATCH 4/4] Benchmark results: varnish [skip ci] --- site/data/results/varnish.json | 202 +++++++++++++----- .../static/logs/baseline-h2c/1024/varnish.log | 5 + site/static/logs/baseline-h2c/256/varnish.log | 5 + .../static/logs/baseline-h2c/4096/varnish.log | 5 + site/static/logs/latency-10k/1024/varnish.log | 5 + site/static/logs/static-tls/1024/varnish.log | 5 + 6 files changed, 176 insertions(+), 51 deletions(-) create mode 100644 site/static/logs/baseline-h2c/1024/varnish.log create mode 100644 site/static/logs/baseline-h2c/256/varnish.log create mode 100644 site/static/logs/baseline-h2c/4096/varnish.log create mode 100644 site/static/logs/latency-10k/1024/varnish.log create mode 100644 site/static/logs/static-tls/1024/varnish.log diff --git a/site/data/results/varnish.json b/site/data/results/varnish.json index c267258e4..03887ee6c 100644 --- a/site/data/results/varnish.json +++ b/site/data/results/varnish.json @@ -4,19 +4,19 @@ "baseline-4096": { "framework": "varnish", "language": "C", - "rps": 204732, - "avg_latency": "15.45ms", - "p99_latency": "71.40ms", - "cpu": "6403.0%", - "memory": "845MiB", + "rps": 199035, + "avg_latency": "17.27ms", + "p99_latency": "70.70ms", + "cpu": "6256.6%", + "memory": "920MiB", "connections": 4096, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "32.17MB/s", - "input_bw": "15.82MB/s", + "bandwidth": "31.28MB/s", + "input_bw": "15.37MB/s", "reconnects": 3, - "status_2xx": 1023661, + "status_2xx": 995175, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 @@ -24,18 +24,18 @@ "baseline-h2-1024": { "framework": "varnish", "language": "C", - "rps": 206181, - "avg_latency": "85.58ms", - "p99_latency": "1.05s", - "cpu": "6470.8%", - "memory": "4.8GiB", + "rps": 202194, + "avg_latency": "93.26ms", + "p99_latency": "1.15s", + "cpu": "6508.8%", + "memory": "4.9GiB", "connections": 1024, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "19.86MB/s", + "bandwidth": "19.52MB/s", "reconnects": 0, - "status_2xx": 1043277, + "status_2xx": 1025127, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 @@ -43,38 +43,119 @@ "baseline-h2-256": { "framework": "varnish", "language": "C", - "rps": 213803, - "avg_latency": "85.82ms", - "p99_latency": "245.62ms", - "cpu": "6478.3%", + "rps": 217317, + "avg_latency": "86.67ms", + "p99_latency": "204.94ms", + "cpu": "6466.0%", "memory": "4.5GiB", "connections": 256, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "20.27MB/s", + "bandwidth": "20.61MB/s", "reconnects": 0, - "status_2xx": 1077568, + "status_2xx": 1090933, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 }, + "baseline-h2c-1024": { + "framework": "varnish", + "language": "C", + "rps": 213225, + "avg_latency": "87.39ms", + "p99_latency": "482.51ms", + "cpu": "6405.1%", + "memory": "4.9GiB", + "connections": 1024, + "threads": 64, + "duration": "5s", + "pipeline": 1, + "bandwidth": "20.63MB/s", + "reconnects": 0, + "status_2xx": 1081053, + "status_3xx": 0, + "status_4xx": 0, + "status_5xx": 0 + }, + "baseline-h2c-256": { + "framework": "varnish", + "language": "C", + "rps": 221962, + "avg_latency": "82.15ms", + "p99_latency": "202.27ms", + "cpu": "6405.4%", + "memory": "4.5GiB", + "connections": 256, + "threads": 64, + "duration": "5s", + "pipeline": 1, + "bandwidth": "21.14MB/s", + "reconnects": 0, + "status_2xx": 1118689, + "status_3xx": 0, + "status_4xx": 0, + "status_5xx": 0 + }, + "baseline-h2c-4096": { + "framework": "varnish", + "language": "C", + "rps": 169108, + "avg_latency": "103.48ms", + "p99_latency": "950.36ms", + "cpu": "6318.2%", + "memory": "5.2GiB", + "connections": 4096, + "threads": 64, + "duration": "5s", + "pipeline": 1, + "bandwidth": "17.29MB/s", + "reconnects": 0, + "status_2xx": 862453, + "status_3xx": 0, + "status_4xx": 0, + "status_5xx": 0 + }, + "latency-10k-1024": { + "framework": "varnish", + "language": "C", + "rps": 9983, + "avg_latency": "100.1us", + "p99_latency": "140.0us", + "cpu": "74.7%", + "memory": "656MiB", + "connections": 1024, + "threads": 64, + "duration": "20s", + "pipeline": 1, + "bandwidth": "1.63MB/s", + "reconnects": 0, + "status_2xx": 199682, + "status_3xx": 0, + "status_4xx": 0, + "status_5xx": 0, + "cpu_usec": 15480155, + "cpu_per_req_us": 77.524, + "target_rate": 10000, + "rate_ratio": 0.9983, + "p99_9_latency": "250.0us" + }, "limited-conn-4096": { "framework": "varnish", "language": "C", - "rps": 189574, - "avg_latency": "9.24ms", - "p99_latency": "57.80ms", - "cpu": "6523.0%", - "memory": "785MiB", + "rps": 183208, + "avg_latency": "9.82ms", + "p99_latency": "61.30ms", + "cpu": "6517.2%", + "memory": "798MiB", "connections": 4096, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "29.78MB/s", - "input_bw": "14.64MB/s", - "reconnects": 94887, - "status_2xx": 947873, + "bandwidth": "28.79MB/s", + "input_bw": "14.15MB/s", + "reconnects": 91548, + "status_2xx": 916043, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 @@ -82,18 +163,18 @@ "pipelined-4096": { "framework": "varnish", "language": "C", - "rps": 283650, - "avg_latency": "194.87ms", - "p99_latency": "458.80ms", - "cpu": "6509.3%", - "memory": "1.3GiB", + "rps": 279036, + "avg_latency": "169.03ms", + "p99_latency": "704.30ms", + "cpu": "6411.5%", + "memory": "830MiB", "connections": 4096, "threads": 64, "duration": "5s", "pipeline": 16, - "bandwidth": "44.70MB/s", + "bandwidth": "43.85MB/s", "reconnects": 1, - "status_2xx": 1418251, + "status_2xx": 1395183, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 @@ -101,18 +182,18 @@ "static-h2-1024": { "framework": "varnish", "language": "C", - "rps": 140630, - "avg_latency": "126.80ms", - "p99_latency": "2.05s", - "cpu": "6525.2%", - "memory": "4.7GiB", + "rps": 139986, + "avg_latency": "126.50ms", + "p99_latency": "1.72s", + "cpu": "6596.1%", + "memory": "4.6GiB", "connections": 1024, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "8.28GB/s", + "bandwidth": "8.25GB/s", "reconnects": 0, - "status_2xx": 711588, + "status_2xx": 708333, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 @@ -120,18 +201,37 @@ "static-h2-256": { "framework": "varnish", "language": "C", - "rps": 151545, - "avg_latency": "53.37ms", - "p99_latency": "161.06ms", - "cpu": "6523.4%", - "memory": "2.2GiB", + "rps": 150998, + "avg_latency": "53.68ms", + "p99_latency": "558.74ms", + "cpu": "6566.5%", + "memory": "2.4GiB", "connections": 256, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "9.02GB/s", + "bandwidth": "8.97GB/s", + "reconnects": 0, + "status_2xx": 758012, + "status_3xx": 0, + "status_4xx": 0, + "status_5xx": 0 + }, + "static-tls-1024": { + "framework": "varnish", + "language": "C", + "rps": 308685, + "avg_latency": "3.64ms", + "p99_latency": "307.30ms", + "cpu": "6291.3%", + "memory": "709MiB", + "connections": 1024, + "threads": 64, + "duration": "5s", + "pipeline": 1, + "bandwidth": "18.36GB", "reconnects": 0, - "status_2xx": 762276, + "status_2xx": 1574220, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 diff --git a/site/static/logs/baseline-h2c/1024/varnish.log b/site/static/logs/baseline-h2c/1024/varnish.log new file mode 100644 index 000000000..1914a9f67 --- /dev/null +++ b/site/static/logs/baseline-h2c/1024/varnish.log @@ -0,0 +1,5 @@ +Debug: Version: varnish-9.0.3 revision 0a625649cd40af4b6c10be5e58a2e89a5e275baa +Debug: Platform: Linux,6.17.0-22-generic,x86_64,-jnone,-sdefault,-sdefault,-hcritbit +Debug: Child (20) Started +Child launched OK +Info: Child (20) said Child starts diff --git a/site/static/logs/baseline-h2c/256/varnish.log b/site/static/logs/baseline-h2c/256/varnish.log new file mode 100644 index 000000000..1914a9f67 --- /dev/null +++ b/site/static/logs/baseline-h2c/256/varnish.log @@ -0,0 +1,5 @@ +Debug: Version: varnish-9.0.3 revision 0a625649cd40af4b6c10be5e58a2e89a5e275baa +Debug: Platform: Linux,6.17.0-22-generic,x86_64,-jnone,-sdefault,-sdefault,-hcritbit +Debug: Child (20) Started +Child launched OK +Info: Child (20) said Child starts diff --git a/site/static/logs/baseline-h2c/4096/varnish.log b/site/static/logs/baseline-h2c/4096/varnish.log new file mode 100644 index 000000000..1914a9f67 --- /dev/null +++ b/site/static/logs/baseline-h2c/4096/varnish.log @@ -0,0 +1,5 @@ +Debug: Version: varnish-9.0.3 revision 0a625649cd40af4b6c10be5e58a2e89a5e275baa +Debug: Platform: Linux,6.17.0-22-generic,x86_64,-jnone,-sdefault,-sdefault,-hcritbit +Debug: Child (20) Started +Child launched OK +Info: Child (20) said Child starts diff --git a/site/static/logs/latency-10k/1024/varnish.log b/site/static/logs/latency-10k/1024/varnish.log new file mode 100644 index 000000000..1914a9f67 --- /dev/null +++ b/site/static/logs/latency-10k/1024/varnish.log @@ -0,0 +1,5 @@ +Debug: Version: varnish-9.0.3 revision 0a625649cd40af4b6c10be5e58a2e89a5e275baa +Debug: Platform: Linux,6.17.0-22-generic,x86_64,-jnone,-sdefault,-sdefault,-hcritbit +Debug: Child (20) Started +Child launched OK +Info: Child (20) said Child starts diff --git a/site/static/logs/static-tls/1024/varnish.log b/site/static/logs/static-tls/1024/varnish.log new file mode 100644 index 000000000..40f4bd46d --- /dev/null +++ b/site/static/logs/static-tls/1024/varnish.log @@ -0,0 +1,5 @@ +Debug: Version: varnish-9.0.3 revision 0a625649cd40af4b6c10be5e58a2e89a5e275baa +Debug: Platform: Linux,6.17.0-22-generic,x86_64,-jnone,-sdefault,-sdefault,-hcritbit +Debug: Child (21) Started +Child launched OK +Info: Child (21) said Child starts