Add jdk28-zgc: ZGC startup and warmup baseline on JDK 25/27/28-ea, and a probe for JEP 545/546
Spring Boot 4.1.1 harness measuring first-response time versus initial heap size and a 20,000-request warmup. Shows -XX:+ZAdaptiveHeapSizing is not yet in any build. Co-Authored-By: Claude Sonnet 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01WzVQ6zFh9cuLPj9RSbRH8U
This commit is contained in:
Executable
+18
@@ -0,0 +1,18 @@
|
||||
#!/usr/bin/env bash
|
||||
# Usage: warmup.sh <java-home> <label> [jvm args...]
|
||||
# Starts the server, waits for the first response, then runs Warmup.java (always on the same
|
||||
# client JDK, JDK_CLIENT) so only the server JVM changes between runs.
|
||||
set -u
|
||||
JH=$1; LABEL=$2; shift 2
|
||||
HERE="$(cd "$(dirname "$0")" && pwd)"
|
||||
JAR="$HERE/../target/jdk28-zgc-1.0.0.jar"
|
||||
PORT=${PORT:-18080}
|
||||
CLIENT=${JDK_CLIENT:-$JH}
|
||||
"$JH/bin/java" "$@" -jar "$JAR" --server.port=$PORT --spring.main.banner-mode=off \
|
||||
--logging.level.root=WARN > /dev/null 2>&1 &
|
||||
PID=$!
|
||||
until [ "$(curl -s -o /dev/null -m 1 -w '%{http_code}' localhost:$PORT/hello)" = 200 ]; do sleep 0.02; done
|
||||
echo "== $LABEL"
|
||||
"$CLIENT/bin/java" "$HERE/Warmup.java" $PORT 2>&1 | grep -v Picked
|
||||
curl -s "localhost:$PORT/heap" | sed -n 's/.*"committedMiB":\([0-9]*\),"maxMiB":\([0-9]*\).*/committed after load: \1 MiB (max \2 MiB)/p'; echo
|
||||
kill $PID 2>/dev/null; wait $PID 2>/dev/null
|
||||
Reference in New Issue
Block a user