From 7cdceb5e39cb5f8e8aae8295159ca28bec563c19 Mon Sep 17 00:00:00 2001 From: ruroru <111705692+ruroru@users.noreply.github.com> Date: Wed, 7 Oct 2026 16:23:58 +0000 Subject: [PATCH 1/2] Bump jdk in ring-http-exchange to 27 --- frameworks/ring-http-exchange/Dockerfile | 4 ++-- frameworks/ring-http-exchange/meta.json | 10 ++++++-- .../ring-http-exchange/src/ring/core.clj | 23 +++++++++++++++++-- 3 files changed, 31 insertions(+), 6 deletions(-) diff --git a/frameworks/ring-http-exchange/Dockerfile b/frameworks/ring-http-exchange/Dockerfile index d182d727d..c34860ec0 100644 --- a/frameworks/ring-http-exchange/Dockerfile +++ b/frameworks/ring-http-exchange/Dockerfile @@ -6,11 +6,11 @@ RUN lein deps COPY src ./src RUN lein with-profile uberjar uberjar -FROM eclipse-temurin:26-jre +FROM eclipse-temurin:27-jre RUN mkdir -p /data/static WORKDIR /app COPY --from=builder /app/target/ring-0.1.0-standalone.jar /app/app.jar EXPOSE 8080 8081 -ENTRYPOINT ["java", "-jar", "app.jar"] \ No newline at end of file +ENTRYPOINT ["java", "-jar", "app.jar"] diff --git a/frameworks/ring-http-exchange/meta.json b/frameworks/ring-http-exchange/meta.json index 375ec84fa..6fca2db20 100644 --- a/frameworks/ring-http-exchange/meta.json +++ b/frameworks/ring-http-exchange/meta.json @@ -14,7 +14,11 @@ "repo": "https://github.com/ruroru/ring-http-exchange", "enabled": true, "tests": [ - "baseline", "async", "latency-1m", "latency-10k", "latency-500k-8cpu", + "baseline", + "async", + "latency-1m", + "latency-10k", + "latency-500k-8cpu", "limited-conn", "json-comp", "8gbit", @@ -22,5 +26,7 @@ "async-db", "static-tls", "fortunes" - ] + ], + "maintainers": ["ruroru"] + } diff --git a/frameworks/ring-http-exchange/src/ring/core.clj b/frameworks/ring-http-exchange/src/ring/core.clj index 473ebb02f..e81a302d4 100644 --- a/frameworks/ring-http-exchange/src/ring/core.clj +++ b/frameworks/ring-http-exchange/src/ring/core.clj @@ -15,8 +15,10 @@ (io.vertx.sqlclient PoolOptions) (java.io ByteArrayOutputStream FileInputStream InputStream OutputStream) (java.net URI) - (java.security KeyStore PEMDecoder PrivateKey) + (java.security KeyFactory KeyStore PrivateKey) (java.security.cert Certificate CertificateFactory) + (java.security.spec PKCS8EncodedKeySpec) + (java.util Base64) (java.util.concurrent Executors) (java.util.zip GZIPOutputStream)) (:gen-class)) @@ -200,11 +202,28 @@ :tags (json/read-value (str (:tags row))) :rating {:score (:rating_score row) :count (:rating_count row)}}) +(defn- pem->der ^bytes [^String pem] + (let [body (-> pem + (str/replace #"-----BEGIN [^-]+-----" "") + (str/replace #"-----END [^-]+-----" "") + (str/replace #"\s" ""))] + (.decode (Base64/getDecoder) body))) + +(defn- der->private-key ^PrivateKey [^bytes der] + (let [spec (PKCS8EncodedKeySpec. der)] + (loop [algos ["RSA" "EC" "DSA" "EdDSA"]] + (if-let [algo (first algos)] + (or (try + (.generatePrivate (KeyFactory/getInstance ^String algo) spec) + (catch Exception _ nil)) + (recur (rest algos))) + (throw (ex-info "Unsupported private key algorithm" {})))))) + (defn- pem->keystore [^String cert-path ^String key-path] (let [certs (with-open [in (FileInputStream. cert-path)] (.generateCertificates (CertificateFactory/getInstance "X.509") in)) cert-array (into-array Certificate certs) - private-key ^PrivateKey (.decode (PEMDecoder/of) ^String (slurp key-path) PrivateKey) + private-key (der->private-key (pem->der (slurp key-path))) password (char-array 0)] (doto (KeyStore/getInstance "PKCS12") (.load nil password) From ba611e78380056e0f51e1bf030bb372e9f6d3f9c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 7 Oct 2026 18:11:10 +0000 Subject: [PATCH 2/2] Benchmark results: ring-http-exchange [skip ci] --- site/data/results/ring-http-exchange.json | 226 +++++++++--------- .../logs/8gbit/512/ring-http-exchange.log | 10 + .../logs/async-db/1024/ring-http-exchange.log | 12 +- .../logs/async/32000/ring-http-exchange.log | 12 +- .../logs/baseline/4096/ring-http-exchange.log | 12 +- .../logs/fortunes/1024/ring-http-exchange.log | 12 +- .../json-comp/16384/ring-http-exchange.log | 24 +- .../json-comp/4096/ring-http-exchange.log | 12 +- .../logs/json-tls/4096/ring-http-exchange.log | 18 +- .../latency-10k/1024/ring-http-exchange.log | 12 +- .../latency-1m/1024/ring-http-exchange.log | 12 +- .../1024/ring-http-exchange.log | 12 +- .../limited-conn/4096/ring-http-exchange.log | 82 ++++--- .../static-tls/1024/ring-http-exchange.log | 18 +- 14 files changed, 241 insertions(+), 233 deletions(-) create mode 100644 site/static/logs/8gbit/512/ring-http-exchange.log diff --git a/site/data/results/ring-http-exchange.json b/site/data/results/ring-http-exchange.json index 24aab56c6..034b3d0f2 100644 --- a/site/data/results/ring-http-exchange.json +++ b/site/data/results/ring-http-exchange.json @@ -4,44 +4,44 @@ "8gbit-512": { "framework": "ring-http-exchange", "language": "Clojure", - "rps": 49304, - "avg_latency": "163.8us", - "p99_latency": "557.0us", - "cpu": "636.1%", - "memory": "941MiB", + "rps": 49245, + "avg_latency": "164.4us", + "p99_latency": "804.0us", + "cpu": "665.7%", + "memory": "894MiB", "connections": 512, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "510.74MB/s", - "input_bw": "481.48MB/s", + "bandwidth": "510.13MB/s", + "input_bw": "480.91MB/s", "reconnects": 0, - "status_2xx": 246610, + "status_2xx": 246305, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0, - "cpu_usec": 34735320, - "cpu_per_req_us": 140.8512, + "cpu_usec": 35735218, + "cpu_per_req_us": 145.0852, "target_rate": 50000, - "rate_ratio": 0.9861, - "p99_9_latency": "7714.0us" + "rate_ratio": 0.9849, + "p99_9_latency": "4710.0us" }, "async-32000": { "framework": "ring-http-exchange", "language": "Clojure", - "rps": 1234804, - "avg_latency": "24.08ms", - "p99_latency": "56.40ms", - "cpu": "6199.1%", - "memory": "14.4GiB", + "rps": 1232919, + "avg_latency": "24.11ms", + "p99_latency": "55.00ms", + "cpu": "6072.2%", + "memory": "14.5GiB", "connections": 32000, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "154.24MB/s", - "input_bw": "56.52MB/s", + "bandwidth": "154.00MB/s", + "input_bw": "56.44MB/s", "reconnects": 0, - "status_2xx": 12348043, + "status_2xx": 12329198, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 @@ -49,19 +49,19 @@ "async-db-1024": { "framework": "ring-http-exchange", "language": "Clojure", - "rps": 109821, - "avg_latency": "8.98ms", - "p99_latency": "13.90ms", - "cpu": "5073.0%", - "memory": "8.0GiB", + "rps": 109526, + "avg_latency": "8.97ms", + "p99_latency": "14.00ms", + "cpu": "5032.2%", + "memory": "4.9GiB", "connections": 1024, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "421.65MB/s", - "input_bw": "7.33MB/s", - "reconnects": 43498, - "status_2xx": 1098219, + "bandwidth": "420.59MB/s", + "input_bw": "7.31MB/s", + "reconnects": 43418, + "status_2xx": 1095269, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 @@ -69,19 +69,19 @@ "baseline-4096": { "framework": "ring-http-exchange", "language": "Clojure", - "rps": 1207277, - "avg_latency": "3.40ms", - "p99_latency": "13.30ms", - "cpu": "6192.2%", + "rps": 1215341, + "avg_latency": "3.38ms", + "p99_latency": "13.70ms", + "cpu": "6115.1%", "memory": "13.0GiB", "connections": 4096, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "150.79MB/s", - "input_bw": "93.26MB/s", + "bandwidth": "151.79MB/s", + "input_bw": "93.88MB/s", "reconnects": 0, - "status_2xx": 6036385, + "status_2xx": 6076707, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 @@ -89,18 +89,18 @@ "fortunes-1024": { "framework": "ring-http-exchange", "language": "Clojure", - "rps": 76245, - "avg_latency": "13.33ms", - "p99_latency": "21.70ms", - "cpu": "6170.2%", - "memory": "13.2GiB", + "rps": 79925, + "avg_latency": "12.72ms", + "p99_latency": "20.40ms", + "cpu": "6316.1%", + "memory": "14.1GiB", "connections": 1024, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "1.84GB/s", + "bandwidth": "1.93GB/s", "reconnects": 0, - "status_2xx": 381229, + "status_2xx": 399626, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 @@ -108,19 +108,19 @@ "json-comp-16384": { "framework": "ring-http-exchange", "language": "Clojure", - "rps": 235633, - "avg_latency": "60.69ms", - "p99_latency": "285.90ms", - "cpu": "6267.3%", - "memory": "15.6GiB", + "rps": 236978, + "avg_latency": "60.90ms", + "p99_latency": "274.90ms", + "cpu": "6250.3%", + "memory": "15.4GiB", "connections": 16384, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "333.96MB/s", - "input_bw": "17.53MB/s", - "reconnects": 39378, - "status_2xx": 1178166, + "bandwidth": "335.86MB/s", + "input_bw": "17.63MB/s", + "reconnects": 39562, + "status_2xx": 1184892, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 @@ -128,19 +128,19 @@ "json-comp-4096": { "framework": "ring-http-exchange", "language": "Clojure", - "rps": 140489, - "avg_latency": "29.02ms", - "p99_latency": "55.90ms", - "cpu": "4432.5%", - "memory": "5.2GiB", + "rps": 140401, + "avg_latency": "29.08ms", + "p99_latency": "56.90ms", + "cpu": "4410.9%", + "memory": "14.4GiB", "connections": 4096, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "198.69MB/s", - "input_bw": "10.45MB/s", - "reconnects": 25836, - "status_2xx": 702449, + "bandwidth": "198.58MB/s", + "input_bw": "10.44MB/s", + "reconnects": 25864, + "status_2xx": 702009, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 @@ -148,18 +148,18 @@ "json-tls-4096": { "framework": "ring-http-exchange", "language": "Clojure", - "rps": 471189, - "avg_latency": "14.05ms", - "p99_latency": "226.23ms", - "cpu": "6255.0%", - "memory": "13.9GiB", + "rps": 477327, + "avg_latency": "13.56ms", + "p99_latency": "186.03ms", + "cpu": "6398.9%", + "memory": "14.0GiB", "connections": 4096, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "1.61GB", + "bandwidth": "1.63GB", "reconnects": 0, - "status_2xx": 2403249, + "status_2xx": 2434458, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 @@ -168,90 +168,90 @@ "framework": "ring-http-exchange", "language": "Clojure", "rps": 9981, - "avg_latency": "96.1us", - "p99_latency": "123.0us", - "cpu": "78.2%", - "memory": "418MiB", + "avg_latency": "101.6us", + "p99_latency": "125.0us", + "cpu": "80.0%", + "memory": "363MiB", "connections": 1024, "threads": 64, "duration": "20s", "pipeline": 1, "bandwidth": "1.30MB/s", "reconnects": 0, - "status_2xx": 199670, + "status_2xx": 199640, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0, - "cpu_usec": 16969159, - "cpu_per_req_us": 84.986, + "cpu_usec": 16812535, + "cpu_per_req_us": 84.2143, "target_rate": 10000, "rate_ratio": 0.9981, - "p99_9_latency": "1823.0us" + "p99_9_latency": "3403.0us" }, "latency-1m-1024": { "framework": "ring-http-exchange", "language": "Clojure", - "rps": 997340, - "avg_latency": "364.0us", - "p99_latency": "2875.0us", - "cpu": "5492.9%", - "memory": "4.4GiB", + "rps": 998181, + "avg_latency": "390.7us", + "p99_latency": "4786.0us", + "cpu": "5799.5%", + "memory": "1.7GiB", "connections": 1024, "threads": 64, "duration": "20s", "pipeline": 1, - "bandwidth": "129.65MB/s", + "bandwidth": "129.76MB/s", "reconnects": 0, - "status_2xx": 19954099, + "status_2xx": 19967363, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0, - "cpu_usec": 1036215806, - "cpu_per_req_us": 51.93, + "cpu_usec": 1092607655, + "cpu_per_req_us": 54.7197, "target_rate": 1000000, - "rate_ratio": 0.9973, - "p99_9_latency": "26376.0us" + "rate_ratio": 0.9982, + "p99_9_latency": "26920.0us" }, "latency-500k-8cpu-1024": { "framework": "ring-http-exchange", "language": "Clojure", - "rps": 266199, - "avg_latency": "4702754.4us", - "p99_latency": "9244672.0us", - "cpu": "779.7%", - "memory": "753MiB", + "rps": 268781, + "avg_latency": "4657756.9us", + "p99_latency": "9129984.0us", + "cpu": "782.4%", + "memory": "650MiB", "connections": 1024, "threads": 64, "duration": "20s", "pipeline": 1, - "bandwidth": "34.61MB/s", + "bandwidth": "34.94MB/s", "reconnects": 0, - "status_2xx": 5325977, + "status_2xx": 5377629, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0, - "cpu_usec": 159308756, - "cpu_per_req_us": 29.9116, + "cpu_usec": 159336506, + "cpu_per_req_us": 29.6295, "target_rate": 500000, - "rate_ratio": 0.5324, - "p99_9_latency": "9449472.0us" + "rate_ratio": 0.5376, + "p99_9_latency": "9310208.0us" }, "limited-conn-4096": { "framework": "ring-http-exchange", "language": "Clojure", - "rps": 853209, - "avg_latency": "4.78ms", - "p99_latency": "51.40ms", - "cpu": "5881.4%", + "rps": 845208, + "avg_latency": "4.82ms", + "p99_latency": "50.40ms", + "cpu": "6029.5%", "memory": "13.5GiB", "connections": 4096, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "106.56MB/s", - "input_bw": "65.91MB/s", - "reconnects": 426690, - "status_2xx": 4266048, + "bandwidth": "105.56MB/s", + "input_bw": "65.29MB/s", + "reconnects": 422756, + "status_2xx": 4226044, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 @@ -259,18 +259,18 @@ "static-tls-1024": { "framework": "ring-http-exchange", "language": "Clojure", - "rps": 189323, - "avg_latency": "8.27ms", - "p99_latency": "293.79ms", - "cpu": "6324.7%", - "memory": "4.8GiB", + "rps": 193901, + "avg_latency": "6.60ms", + "p99_latency": "145.92ms", + "cpu": "6353.3%", + "memory": "4.9GiB", "connections": 1024, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "11.23GB", + "bandwidth": "11.51GB", "reconnects": 0, - "status_2xx": 965561, + "status_2xx": 988873, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 diff --git a/site/static/logs/8gbit/512/ring-http-exchange.log b/site/static/logs/8gbit/512/ring-http-exchange.log new file mode 100644 index 000000000..d35320f5b --- /dev/null +++ b/site/static/logs/8gbit/512/ring-http-exchange.log @@ -0,0 +1,10 @@ +Oct 07, 2026 6:04:54 PM robaho.net.httpserver.ServerImpl +INFO: [http:8080] server bound to /0.0.0.0:8080 with backlog 8192 +Oct 07, 2026 6:04:54 PM robaho.net.httpserver.ServerImpl start +INFO: [http:8080] using java.util.concurrent.ThreadPerTaskExecutor@c017175 as executor +Server running on port 8080 +Oct 07, 2026 6:04:55 PM robaho.net.httpserver.ServerImpl +INFO: [https:8081] server bound to /0.0.0.0:8081 with backlog 8192 +Oct 07, 2026 6:04:55 PM robaho.net.httpserver.ServerImpl start +INFO: [https:8081] using java.util.concurrent.ThreadPerTaskExecutor@60dd0587 as executor +Server running on port 8081 (TLS) diff --git a/site/static/logs/async-db/1024/ring-http-exchange.log b/site/static/logs/async-db/1024/ring-http-exchange.log index e490f5236..e27d93145 100644 --- a/site/static/logs/async-db/1024/ring-http-exchange.log +++ b/site/static/logs/async-db/1024/ring-http-exchange.log @@ -1,10 +1,10 @@ -Aug 27, 2026 1:55:57 PM robaho.net.httpserver.ServerImpl +Oct 07, 2026 6:05:47 PM robaho.net.httpserver.ServerImpl INFO: [http:8080] server bound to /0.0.0.0:8080 with backlog 8192 -Aug 27, 2026 1:55:57 PM robaho.net.httpserver.ServerImpl start -INFO: [http:8080] using java.util.concurrent.ThreadPerTaskExecutor@73fbdf68 as executor +Oct 07, 2026 6:05:47 PM robaho.net.httpserver.ServerImpl start +INFO: [http:8080] using java.util.concurrent.ThreadPerTaskExecutor@39666e42 as executor Server running on port 8080 -Aug 27, 2026 1:55:57 PM robaho.net.httpserver.ServerImpl +Oct 07, 2026 6:05:47 PM robaho.net.httpserver.ServerImpl INFO: [https:8081] server bound to /0.0.0.0:8081 with backlog 8192 -Aug 27, 2026 1:55:57 PM robaho.net.httpserver.ServerImpl start -INFO: [https:8081] using java.util.concurrent.ThreadPerTaskExecutor@298b64f7 as executor +Oct 07, 2026 6:05:47 PM robaho.net.httpserver.ServerImpl start +INFO: [https:8081] using java.util.concurrent.ThreadPerTaskExecutor@28279a49 as executor Server running on port 8081 (TLS) diff --git a/site/static/logs/async/32000/ring-http-exchange.log b/site/static/logs/async/32000/ring-http-exchange.log index 0c0ad7b70..e66d3c721 100644 --- a/site/static/logs/async/32000/ring-http-exchange.log +++ b/site/static/logs/async/32000/ring-http-exchange.log @@ -1,10 +1,10 @@ -Sep 06, 2026 1:03:14 AM robaho.net.httpserver.ServerImpl +Oct 07, 2026 6:10:28 PM robaho.net.httpserver.ServerImpl INFO: [http:8080] server bound to /0.0.0.0:8080 with backlog 8192 -Sep 06, 2026 1:03:14 AM robaho.net.httpserver.ServerImpl start -INFO: [http:8080] using java.util.concurrent.ThreadPerTaskExecutor@22c75c01 as executor +Oct 07, 2026 6:10:28 PM robaho.net.httpserver.ServerImpl start +INFO: [http:8080] using java.util.concurrent.ThreadPerTaskExecutor@c017175 as executor Server running on port 8080 -Sep 06, 2026 1:03:14 AM robaho.net.httpserver.ServerImpl +Oct 07, 2026 6:10:28 PM robaho.net.httpserver.ServerImpl INFO: [https:8081] server bound to /0.0.0.0:8081 with backlog 8192 -Sep 06, 2026 1:03:14 AM robaho.net.httpserver.ServerImpl start -INFO: [https:8081] using java.util.concurrent.ThreadPerTaskExecutor@1eff3cfb as executor +Oct 07, 2026 6:10:28 PM robaho.net.httpserver.ServerImpl start +INFO: [https:8081] using java.util.concurrent.ThreadPerTaskExecutor@793d163b as executor Server running on port 8081 (TLS) diff --git a/site/static/logs/baseline/4096/ring-http-exchange.log b/site/static/logs/baseline/4096/ring-http-exchange.log index 285faa59c..9725020bb 100644 --- a/site/static/logs/baseline/4096/ring-http-exchange.log +++ b/site/static/logs/baseline/4096/ring-http-exchange.log @@ -1,10 +1,10 @@ -Aug 27, 2026 1:49:16 PM robaho.net.httpserver.ServerImpl +Oct 07, 2026 6:02:46 PM robaho.net.httpserver.ServerImpl INFO: [http:8080] server bound to /0.0.0.0:8080 with backlog 8192 -Aug 27, 2026 1:49:16 PM robaho.net.httpserver.ServerImpl start -INFO: [http:8080] using java.util.concurrent.ThreadPerTaskExecutor@22c75c01 as executor +Oct 07, 2026 6:02:46 PM robaho.net.httpserver.ServerImpl start +INFO: [http:8080] using java.util.concurrent.ThreadPerTaskExecutor@c017175 as executor Server running on port 8080 -Aug 27, 2026 1:49:16 PM robaho.net.httpserver.ServerImpl +Oct 07, 2026 6:02:46 PM robaho.net.httpserver.ServerImpl INFO: [https:8081] server bound to /0.0.0.0:8081 with backlog 8192 -Aug 27, 2026 1:49:16 PM robaho.net.httpserver.ServerImpl start -INFO: [https:8081] using java.util.concurrent.ThreadPerTaskExecutor@1eff3cfb as executor +Oct 07, 2026 6:02:46 PM robaho.net.httpserver.ServerImpl start +INFO: [https:8081] using java.util.concurrent.ThreadPerTaskExecutor@60dd0587 as executor Server running on port 8081 (TLS) diff --git a/site/static/logs/fortunes/1024/ring-http-exchange.log b/site/static/logs/fortunes/1024/ring-http-exchange.log index b047d0415..b72d48bfa 100644 --- a/site/static/logs/fortunes/1024/ring-http-exchange.log +++ b/site/static/logs/fortunes/1024/ring-http-exchange.log @@ -1,10 +1,10 @@ -Aug 27, 2026 1:57:39 PM robaho.net.httpserver.ServerImpl +Oct 07, 2026 6:06:30 PM robaho.net.httpserver.ServerImpl INFO: [http:8080] server bound to /0.0.0.0:8080 with backlog 8192 -Aug 27, 2026 1:57:39 PM robaho.net.httpserver.ServerImpl start -INFO: [http:8080] using java.util.concurrent.ThreadPerTaskExecutor@73fbdf68 as executor +Oct 07, 2026 6:06:30 PM robaho.net.httpserver.ServerImpl start +INFO: [http:8080] using java.util.concurrent.ThreadPerTaskExecutor@39666e42 as executor Server running on port 8080 -Aug 27, 2026 1:57:39 PM robaho.net.httpserver.ServerImpl +Oct 07, 2026 6:06:30 PM robaho.net.httpserver.ServerImpl INFO: [https:8081] server bound to /0.0.0.0:8081 with backlog 8192 -Aug 27, 2026 1:57:39 PM robaho.net.httpserver.ServerImpl start -INFO: [https:8081] using java.util.concurrent.ThreadPerTaskExecutor@298b64f7 as executor +Oct 07, 2026 6:06:30 PM robaho.net.httpserver.ServerImpl start +INFO: [https:8081] using java.util.concurrent.ThreadPerTaskExecutor@28279a49 as executor Server running on port 8081 (TLS) diff --git a/site/static/logs/json-comp/16384/ring-http-exchange.log b/site/static/logs/json-comp/16384/ring-http-exchange.log index ec7010cfd..6442ac258 100644 --- a/site/static/logs/json-comp/16384/ring-http-exchange.log +++ b/site/static/logs/json-comp/16384/ring-http-exchange.log @@ -1,16 +1,16 @@ -Aug 27, 2026 1:51:45 PM robaho.net.httpserver.ServerImpl +Oct 07, 2026 6:04:02 PM robaho.net.httpserver.ServerImpl INFO: [http:8080] server bound to /0.0.0.0:8080 with backlog 8192 -Aug 27, 2026 1:51:45 PM robaho.net.httpserver.ServerImpl start -INFO: [http:8080] using java.util.concurrent.ThreadPerTaskExecutor@22c75c01 as executor +Oct 07, 2026 6:04:02 PM robaho.net.httpserver.ServerImpl start +INFO: [http:8080] using java.util.concurrent.ThreadPerTaskExecutor@c017175 as executor Server running on port 8080 -Aug 27, 2026 1:51:45 PM robaho.net.httpserver.ServerImpl +Oct 07, 2026 6:04:03 PM robaho.net.httpserver.ServerImpl INFO: [https:8081] server bound to /0.0.0.0:8081 with backlog 8192 -Aug 27, 2026 1:51:45 PM robaho.net.httpserver.ServerImpl start -INFO: [https:8081] using java.util.concurrent.ThreadPerTaskExecutor@6a0f2853 as executor +Oct 07, 2026 6:04:03 PM robaho.net.httpserver.ServerImpl start +INFO: [https:8081] using java.util.concurrent.ThreadPerTaskExecutor@793d163b as executor Server running on port 8081 (TLS) -Aug 27, 2026 1:51:58 PM robaho.net.httpserver.HttpConnection close -WARNING: closing connection: remote /127.0.0.1:1796 with 0 requests -Aug 27, 2026 1:52:05 PM robaho.net.httpserver.HttpConnection close -WARNING: closing connection: remote /127.0.0.1:20740 with 0 requests -Aug 27, 2026 1:52:05 PM robaho.net.httpserver.HttpConnection close -WARNING: closing connection: remote /127.0.0.1:20734 with 0 requests +Oct 07, 2026 6:04:22 PM robaho.net.httpserver.HttpConnection close +WARNING: closing connection: remote /127.0.0.1:36950 with 0 requests +Oct 07, 2026 6:04:22 PM robaho.net.httpserver.HttpConnection close +WARNING: closing connection: remote /127.0.0.1:36968 with 0 requests +Oct 07, 2026 6:04:23 PM robaho.net.httpserver.HttpConnection close +WARNING: closing connection: remote /127.0.0.1:36960 with 0 requests diff --git a/site/static/logs/json-comp/4096/ring-http-exchange.log b/site/static/logs/json-comp/4096/ring-http-exchange.log index 49d3d178d..5bc392366 100644 --- a/site/static/logs/json-comp/4096/ring-http-exchange.log +++ b/site/static/logs/json-comp/4096/ring-http-exchange.log @@ -1,10 +1,10 @@ -Aug 27, 2026 1:51:20 PM robaho.net.httpserver.ServerImpl +Oct 07, 2026 6:03:37 PM robaho.net.httpserver.ServerImpl INFO: [http:8080] server bound to /0.0.0.0:8080 with backlog 8192 -Aug 27, 2026 1:51:20 PM robaho.net.httpserver.ServerImpl start -INFO: [http:8080] using java.util.concurrent.ThreadPerTaskExecutor@22c75c01 as executor +Oct 07, 2026 6:03:37 PM robaho.net.httpserver.ServerImpl start +INFO: [http:8080] using java.util.concurrent.ThreadPerTaskExecutor@c017175 as executor Server running on port 8080 -Aug 27, 2026 1:51:20 PM robaho.net.httpserver.ServerImpl +Oct 07, 2026 6:03:37 PM robaho.net.httpserver.ServerImpl INFO: [https:8081] server bound to /0.0.0.0:8081 with backlog 8192 -Aug 27, 2026 1:51:20 PM robaho.net.httpserver.ServerImpl start -INFO: [https:8081] using java.util.concurrent.ThreadPerTaskExecutor@6a0f2853 as executor +Oct 07, 2026 6:03:37 PM robaho.net.httpserver.ServerImpl start +INFO: [https:8081] using java.util.concurrent.ThreadPerTaskExecutor@793d163b as executor Server running on port 8081 (TLS) diff --git a/site/static/logs/json-tls/4096/ring-http-exchange.log b/site/static/logs/json-tls/4096/ring-http-exchange.log index 4d3acecc4..d1ae3a480 100644 --- a/site/static/logs/json-tls/4096/ring-http-exchange.log +++ b/site/static/logs/json-tls/4096/ring-http-exchange.log @@ -1,14 +1,14 @@ -Aug 27, 2026 1:52:10 PM robaho.net.httpserver.ServerImpl +Oct 07, 2026 6:04:28 PM robaho.net.httpserver.ServerImpl INFO: [http:8080] server bound to /0.0.0.0:8080 with backlog 8192 -Aug 27, 2026 1:52:10 PM robaho.net.httpserver.ServerImpl start -INFO: [http:8080] using java.util.concurrent.ThreadPerTaskExecutor@22c75c01 as executor +Oct 07, 2026 6:04:28 PM robaho.net.httpserver.ServerImpl start +INFO: [http:8080] using java.util.concurrent.ThreadPerTaskExecutor@c017175 as executor Server running on port 8080 -Aug 27, 2026 1:52:10 PM robaho.net.httpserver.ServerImpl +Oct 07, 2026 6:04:28 PM robaho.net.httpserver.ServerImpl INFO: [https:8081] server bound to /0.0.0.0:8081 with backlog 8192 -Aug 27, 2026 1:52:10 PM robaho.net.httpserver.ServerImpl start -INFO: [https:8081] using java.util.concurrent.ThreadPerTaskExecutor@1eff3cfb as executor +Oct 07, 2026 6:04:28 PM robaho.net.httpserver.ServerImpl start +INFO: [https:8081] using java.util.concurrent.ThreadPerTaskExecutor@60dd0587 as executor Server running on port 8081 (TLS) -Aug 27, 2026 1:52:11 PM robaho.net.httpserver.ServerImpl$Dispatcher lambda$run$0 +Oct 07, 2026 6:04:29 PM robaho.net.httpserver.ServerImpl$Dispatcher lambda$run$0 WARNING: [https:8081] unable to accept connection java.net.SocketException: Socket is closed at java.base/sun.security.ssl.SSLSocketImpl.getInputStream(Unknown Source) @@ -18,7 +18,7 @@ java.net.SocketException: Socket is closed at java.base/java.util.concurrent.ThreadPerTaskExecutor$TaskRunner.run(Unknown Source) at java.base/java.lang.VirtualThread.run(Unknown Source) -Aug 27, 2026 1:52:19 PM robaho.net.httpserver.ServerImpl$Dispatcher lambda$run$0 +Oct 07, 2026 6:04:37 PM robaho.net.httpserver.ServerImpl$Dispatcher lambda$run$0 WARNING: [https:8081] unable to accept connection java.net.SocketException: Socket is closed at java.base/sun.security.ssl.SSLSocketImpl.getInputStream(Unknown Source) @@ -28,7 +28,7 @@ java.net.SocketException: Socket is closed at java.base/java.util.concurrent.ThreadPerTaskExecutor$TaskRunner.run(Unknown Source) at java.base/java.lang.VirtualThread.run(Unknown Source) -Aug 27, 2026 1:52:26 PM robaho.net.httpserver.ServerImpl$Dispatcher lambda$run$0 +Oct 07, 2026 6:04:44 PM robaho.net.httpserver.ServerImpl$Dispatcher lambda$run$0 WARNING: [https:8081] unable to accept connection java.net.SocketException: Socket is closed at java.base/sun.security.ssl.SSLSocketImpl.getInputStream(Unknown Source) diff --git a/site/static/logs/latency-10k/1024/ring-http-exchange.log b/site/static/logs/latency-10k/1024/ring-http-exchange.log index 9ee82d01d..3f99c5a9f 100644 --- a/site/static/logs/latency-10k/1024/ring-http-exchange.log +++ b/site/static/logs/latency-10k/1024/ring-http-exchange.log @@ -1,10 +1,10 @@ -Aug 29, 2026 6:32:10 PM robaho.net.httpserver.ServerImpl +Oct 07, 2026 6:08:07 PM robaho.net.httpserver.ServerImpl INFO: [http:8080] server bound to /0.0.0.0:8080 with backlog 8192 -Aug 29, 2026 6:32:10 PM robaho.net.httpserver.ServerImpl start -INFO: [http:8080] using java.util.concurrent.ThreadPerTaskExecutor@22c75c01 as executor +Oct 07, 2026 6:08:07 PM robaho.net.httpserver.ServerImpl start +INFO: [http:8080] using java.util.concurrent.ThreadPerTaskExecutor@c017175 as executor Server running on port 8080 -Aug 29, 2026 6:32:10 PM robaho.net.httpserver.ServerImpl +Oct 07, 2026 6:08:07 PM robaho.net.httpserver.ServerImpl INFO: [https:8081] server bound to /0.0.0.0:8081 with backlog 8192 -Aug 29, 2026 6:32:10 PM robaho.net.httpserver.ServerImpl start -INFO: [https:8081] using java.util.concurrent.ThreadPerTaskExecutor@1eff3cfb as executor +Oct 07, 2026 6:08:07 PM robaho.net.httpserver.ServerImpl start +INFO: [https:8081] using java.util.concurrent.ThreadPerTaskExecutor@793d163b as executor Server running on port 8081 (TLS) diff --git a/site/static/logs/latency-1m/1024/ring-http-exchange.log b/site/static/logs/latency-1m/1024/ring-http-exchange.log index 711fa25a1..4c378a4f0 100644 --- a/site/static/logs/latency-1m/1024/ring-http-exchange.log +++ b/site/static/logs/latency-1m/1024/ring-http-exchange.log @@ -1,10 +1,10 @@ -Aug 27, 2026 1:58:05 PM robaho.net.httpserver.ServerImpl +Oct 07, 2026 6:06:56 PM robaho.net.httpserver.ServerImpl INFO: [http:8080] server bound to /0.0.0.0:8080 with backlog 8192 -Aug 27, 2026 1:58:05 PM robaho.net.httpserver.ServerImpl start -INFO: [http:8080] using java.util.concurrent.ThreadPerTaskExecutor@22c75c01 as executor +Oct 07, 2026 6:06:56 PM robaho.net.httpserver.ServerImpl start +INFO: [http:8080] using java.util.concurrent.ThreadPerTaskExecutor@c017175 as executor Server running on port 8080 -Aug 27, 2026 1:58:05 PM robaho.net.httpserver.ServerImpl +Oct 07, 2026 6:06:56 PM robaho.net.httpserver.ServerImpl INFO: [https:8081] server bound to /0.0.0.0:8081 with backlog 8192 -Aug 27, 2026 1:58:05 PM robaho.net.httpserver.ServerImpl start -INFO: [https:8081] using java.util.concurrent.ThreadPerTaskExecutor@6a0f2853 as executor +Oct 07, 2026 6:06:56 PM robaho.net.httpserver.ServerImpl start +INFO: [https:8081] using java.util.concurrent.ThreadPerTaskExecutor@793d163b as executor Server running on port 8081 (TLS) diff --git a/site/static/logs/latency-500k-8cpu/1024/ring-http-exchange.log b/site/static/logs/latency-500k-8cpu/1024/ring-http-exchange.log index 54078b0bf..bec2ac4a6 100644 --- a/site/static/logs/latency-500k-8cpu/1024/ring-http-exchange.log +++ b/site/static/logs/latency-500k-8cpu/1024/ring-http-exchange.log @@ -1,10 +1,10 @@ -Sep 06, 2026 5:19:44 PM robaho.net.httpserver.ServerImpl +Oct 07, 2026 6:09:17 PM robaho.net.httpserver.ServerImpl INFO: [http:8080] server bound to /0.0.0.0:8080 with backlog 8192 -Sep 06, 2026 5:19:44 PM robaho.net.httpserver.ServerImpl start -INFO: [http:8080] using java.util.concurrent.ThreadPerTaskExecutor@22c75c01 as executor +Oct 07, 2026 6:09:18 PM robaho.net.httpserver.ServerImpl start +INFO: [http:8080] using java.util.concurrent.ThreadPerTaskExecutor@c017175 as executor Server running on port 8080 -Sep 06, 2026 5:19:46 PM robaho.net.httpserver.ServerImpl +Oct 07, 2026 6:09:18 PM robaho.net.httpserver.ServerImpl INFO: [https:8081] server bound to /0.0.0.0:8081 with backlog 8192 -Sep 06, 2026 5:19:46 PM robaho.net.httpserver.ServerImpl start -INFO: [https:8081] using java.util.concurrent.ThreadPerTaskExecutor@6a0f2853 as executor +Oct 07, 2026 6:09:18 PM robaho.net.httpserver.ServerImpl start +INFO: [https:8081] using java.util.concurrent.ThreadPerTaskExecutor@60dd0587 as executor Server running on port 8081 (TLS) diff --git a/site/static/logs/limited-conn/4096/ring-http-exchange.log b/site/static/logs/limited-conn/4096/ring-http-exchange.log index c99bd2d26..7dc5a3ae7 100644 --- a/site/static/logs/limited-conn/4096/ring-http-exchange.log +++ b/site/static/logs/limited-conn/4096/ring-http-exchange.log @@ -1,46 +1,44 @@ -Aug 27, 2026 1:50:06 PM robaho.net.httpserver.ServerImpl +Oct 07, 2026 6:03:12 PM robaho.net.httpserver.ServerImpl INFO: [http:8080] server bound to /0.0.0.0:8080 with backlog 8192 -Aug 27, 2026 1:50:06 PM robaho.net.httpserver.ServerImpl start -INFO: [http:8080] using java.util.concurrent.ThreadPerTaskExecutor@22c75c01 as executor +Oct 07, 2026 6:03:12 PM robaho.net.httpserver.ServerImpl start +INFO: [http:8080] using java.util.concurrent.ThreadPerTaskExecutor@c017175 as executor Server running on port 8080 -Aug 27, 2026 1:50:06 PM robaho.net.httpserver.ServerImpl +Oct 07, 2026 6:03:12 PM robaho.net.httpserver.ServerImpl INFO: [https:8081] server bound to /0.0.0.0:8081 with backlog 8192 -Aug 27, 2026 1:50:06 PM robaho.net.httpserver.ServerImpl start -INFO: [https:8081] using java.util.concurrent.ThreadPerTaskExecutor@6a0f2853 as executor +Oct 07, 2026 6:03:12 PM robaho.net.httpserver.ServerImpl start +INFO: [https:8081] using java.util.concurrent.ThreadPerTaskExecutor@793d163b as executor Server running on port 8081 (TLS) -Aug 27, 2026 1:50:12 PM robaho.net.httpserver.HttpConnection close -WARNING: closing connection: remote /127.0.0.1:2372 with 0 requests -Aug 27, 2026 1:50:12 PM robaho.net.httpserver.HttpConnection close -WARNING: closing connection: remote /127.0.0.1:2368 with 0 requests -Aug 27, 2026 1:50:12 PM robaho.net.httpserver.HttpConnection close -WARNING: closing connection: remote /127.0.0.1:2336 with 0 requests -Aug 27, 2026 1:50:12 PM robaho.net.httpserver.HttpConnection close -WARNING: closing connection: remote /127.0.0.1:2342 with 0 requests -Aug 27, 2026 1:50:12 PM robaho.net.httpserver.HttpConnection close -WARNING: closing connection: remote /127.0.0.1:2352 with 0 requests -Aug 27, 2026 1:50:19 PM robaho.net.httpserver.HttpConnection close -WARNING: closing connection: remote /127.0.0.1:7732 with 0 requests -Aug 27, 2026 1:50:19 PM robaho.net.httpserver.HttpConnection close -WARNING: closing connection: remote /127.0.0.1:7748 with 0 requests -Aug 27, 2026 1:50:19 PM robaho.net.httpserver.HttpConnection close -WARNING: closing connection: remote /127.0.0.1:7766 with 0 requests -Aug 27, 2026 1:50:19 PM robaho.net.httpserver.HttpConnection close -WARNING: closing connection: remote /127.0.0.1:7722 with 0 requests -Aug 27, 2026 1:50:19 PM robaho.net.httpserver.HttpConnection close -WARNING: closing connection: remote /127.0.0.1:7746 with 0 requests -Aug 27, 2026 1:50:19 PM robaho.net.httpserver.HttpConnection close -WARNING: closing connection: remote /127.0.0.1:7744 with 0 requests -Aug 27, 2026 1:50:26 PM robaho.net.httpserver.HttpConnection close -WARNING: closing connection: remote /127.0.0.1:11040 with 0 requests -Aug 27, 2026 1:50:26 PM robaho.net.httpserver.HttpConnection close -WARNING: closing connection: remote /127.0.0.1:11048 with 0 requests -Aug 27, 2026 1:50:26 PM robaho.net.httpserver.HttpConnection close -WARNING: closing connection: remote /127.0.0.1:11012 with 0 requests -Aug 27, 2026 1:50:26 PM robaho.net.httpserver.HttpConnection close -WARNING: closing connection: remote /127.0.0.1:10998 with 0 requests -Aug 27, 2026 1:50:26 PM robaho.net.httpserver.HttpConnection close -WARNING: closing connection: remote /127.0.0.1:10996 with 0 requests -Aug 27, 2026 1:50:26 PM robaho.net.httpserver.HttpConnection close -WARNING: closing connection: remote /127.0.0.1:11014 with 0 requests -Aug 27, 2026 1:50:26 PM robaho.net.httpserver.HttpConnection close -WARNING: closing connection: remote /127.0.0.1:11024 with 0 requests +Oct 07, 2026 6:03:17 PM robaho.net.httpserver.HttpConnection close +WARNING: closing connection: remote /127.0.0.1:45582 with 0 requests +Oct 07, 2026 6:03:17 PM robaho.net.httpserver.HttpConnection close +WARNING: closing connection: remote /127.0.0.1:45552 with 0 requests +Oct 07, 2026 6:03:17 PM robaho.net.httpserver.HttpConnection close +WARNING: closing connection: remote /127.0.0.1:45580 with 0 requests +Oct 07, 2026 6:03:18 PM robaho.net.httpserver.HttpConnection close +WARNING: closing connection: remote /127.0.0.1:45564 with 0 requests +Oct 07, 2026 6:03:18 PM robaho.net.httpserver.HttpConnection close +WARNING: closing connection: remote /127.0.0.1:45600 with 0 requests +Oct 07, 2026 6:03:25 PM robaho.net.httpserver.HttpConnection close +WARNING: closing connection: remote /127.0.0.1:17848 with 0 requests +Oct 07, 2026 6:03:25 PM robaho.net.httpserver.HttpConnection close +WARNING: closing connection: remote /127.0.0.1:17836 with 0 requests +Oct 07, 2026 6:03:25 PM robaho.net.httpserver.HttpConnection close +WARNING: closing connection: remote /127.0.0.1:17862 with 0 requests +Oct 07, 2026 6:03:25 PM robaho.net.httpserver.HttpConnection close +WARNING: closing connection: remote /127.0.0.1:17804 with 0 requests +Oct 07, 2026 6:03:25 PM robaho.net.httpserver.HttpConnection close +WARNING: closing connection: remote /127.0.0.1:17856 with 0 requests +Oct 07, 2026 6:03:25 PM robaho.net.httpserver.HttpConnection close +WARNING: closing connection: remote /127.0.0.1:17858 with 0 requests +Oct 07, 2026 6:03:32 PM robaho.net.httpserver.HttpConnection close +WARNING: closing connection: remote /127.0.0.1:30188 with 0 requests +Oct 07, 2026 6:03:32 PM robaho.net.httpserver.HttpConnection close +WARNING: closing connection: remote /127.0.0.1:30182 with 0 requests +Oct 07, 2026 6:03:32 PM robaho.net.httpserver.HttpConnection close +WARNING: closing connection: remote /127.0.0.1:30178 with 0 requests +Oct 07, 2026 6:03:32 PM robaho.net.httpserver.HttpConnection close +WARNING: closing connection: remote /127.0.0.1:30202 with 0 requests +Oct 07, 2026 6:03:32 PM robaho.net.httpserver.HttpConnection close +WARNING: closing connection: remote /127.0.0.1:30218 with 0 requests +Oct 07, 2026 6:03:32 PM robaho.net.httpserver.HttpConnection close +WARNING: closing connection: remote /127.0.0.1:30212 with 0 requests diff --git a/site/static/logs/static-tls/1024/ring-http-exchange.log b/site/static/logs/static-tls/1024/ring-http-exchange.log index ea075aa5a..f18b901d2 100644 --- a/site/static/logs/static-tls/1024/ring-http-exchange.log +++ b/site/static/logs/static-tls/1024/ring-http-exchange.log @@ -1,14 +1,14 @@ -Aug 27, 2026 1:54:39 PM robaho.net.httpserver.ServerImpl +Oct 07, 2026 6:05:21 PM robaho.net.httpserver.ServerImpl INFO: [http:8080] server bound to /0.0.0.0:8080 with backlog 8192 -Aug 27, 2026 1:54:39 PM robaho.net.httpserver.ServerImpl start -INFO: [http:8080] using java.util.concurrent.ThreadPerTaskExecutor@22c75c01 as executor +Oct 07, 2026 6:05:21 PM robaho.net.httpserver.ServerImpl start +INFO: [http:8080] using java.util.concurrent.ThreadPerTaskExecutor@c017175 as executor Server running on port 8080 -Aug 27, 2026 1:54:39 PM robaho.net.httpserver.ServerImpl +Oct 07, 2026 6:05:21 PM robaho.net.httpserver.ServerImpl INFO: [https:8081] server bound to /0.0.0.0:8081 with backlog 8192 -Aug 27, 2026 1:54:39 PM robaho.net.httpserver.ServerImpl start -INFO: [https:8081] using java.util.concurrent.ThreadPerTaskExecutor@1eff3cfb as executor +Oct 07, 2026 6:05:21 PM robaho.net.httpserver.ServerImpl start +INFO: [https:8081] using java.util.concurrent.ThreadPerTaskExecutor@60dd0587 as executor Server running on port 8081 (TLS) -Aug 27, 2026 1:54:40 PM robaho.net.httpserver.ServerImpl$Dispatcher lambda$run$0 +Oct 07, 2026 6:05:22 PM robaho.net.httpserver.ServerImpl$Dispatcher lambda$run$0 WARNING: [https:8081] unable to accept connection java.net.SocketException: Socket is closed at java.base/sun.security.ssl.SSLSocketImpl.getInputStream(Unknown Source) @@ -18,7 +18,7 @@ java.net.SocketException: Socket is closed at java.base/java.util.concurrent.ThreadPerTaskExecutor$TaskRunner.run(Unknown Source) at java.base/java.lang.VirtualThread.run(Unknown Source) -Aug 27, 2026 1:54:47 PM robaho.net.httpserver.ServerImpl$Dispatcher lambda$run$0 +Oct 07, 2026 6:05:30 PM robaho.net.httpserver.ServerImpl$Dispatcher lambda$run$0 WARNING: [https:8081] unable to accept connection java.net.SocketException: Socket is closed at java.base/sun.security.ssl.SSLSocketImpl.getInputStream(Unknown Source) @@ -28,7 +28,7 @@ java.net.SocketException: Socket is closed at java.base/java.util.concurrent.ThreadPerTaskExecutor$TaskRunner.run(Unknown Source) at java.base/java.lang.VirtualThread.run(Unknown Source) -Aug 27, 2026 1:54:54 PM robaho.net.httpserver.ServerImpl$Dispatcher lambda$run$0 +Oct 07, 2026 6:05:37 PM robaho.net.httpserver.ServerImpl$Dispatcher lambda$run$0 WARNING: [https:8081] unable to accept connection java.net.SocketException: Socket is closed at java.base/sun.security.ssl.SSLSocketImpl.getInputStream(Unknown Source)