Ready for quad test

master
Edward M. Kagan 4 years ago
parent 687cd0d4fb
commit 5721ee337c

@ -36,7 +36,7 @@
<maven.shade.plugin.version>3.2.4</maven.shade.plugin.version>
<netty.version>4.1.69.Final</netty.version>
<jooby.version>2.11.0</jooby.version>
<jersey.version>3.0.3</jersey.version>
<jersey.version>2.35</jersey.version>
<vertx.version>4.2.0</vertx.version>
<jakarta.servlet-api.version>5.0.0</jakarta.servlet-api.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

@ -1,9 +1,6 @@
if [ ! -d ../docker/jars ]; then rm -rf ../docker/jars; fi
if [ -d ../docker/jars ]; then rm -rf ../docker/jars; fi
mkdir -p ../docker/jars
if [ ! -d ../docker/data ]; then rm -rf ../docker/data; fi
mkdir -p ../docker/data
mkdir -p ../docker/jars/cxf-jetty
cp ../modules/cxf-jetty/target/cxf-jetty-1.0-SNAPSHOT.jar ../docker/jars/cxf-jetty/app.jar
mkdir -p ../docker/jars/cxf-netty

@ -1,28 +1,6 @@
function done(summary, latency, requests)
file = io.open('docker/data/get.json', 'w')
file = io.open('../docker/data/get.csv', 'w')
io.output(file)
io.write(string.format("{\n"))
io.write(string.format(" \"summary\": {\n"))
io.write(string.format(" \"duration_microseconds\": %d,\n", summary.duration))
io.write(string.format(" \"num_requests\": %d,\n", summary.requests))
io.write(string.format(" \"total_bytes\": %d,\n", summary.bytes))
io.write(string.format(" \"requests_per_sec\": %.2f,\n", summary.requests/(summary.duration)))
io.write(string.format(" \"bytes_per_sec\": \"%.2f\"\n", summary.bytes/summary.duration))
io.write(string.format(" },\n"))
io.write(string.format(" \"latency\": {\n"))
io.write(string.format(" \"min_microseconds\": %.2f,\n", latency.min))
io.write(string.format(" \"max_microseconds\": %.2f,\n", latency.max))
io.write(string.format(" \"mean_microseconds\": %.2f,\n", latency.mean))
io.write(string.format(" \"stdev_microseconds\": %.2f,\n", latency.stdev))
io.write(string.format(" \"percentile_90_microseconds\": %.2f,\n", latency:percentile(90.0)))
io.write(string.format(" \"percentile_95_microseconds\": %.2f,\n", latency:percentile(95.0)))
io.write(string.format(" \"percentile_99_microseconds\": %.2f\n", latency:percentile(99.0)))
io.write(string.format(" }\n"))
io.write(string.format("}\n"))
end
io.write("\"duration_microseconds\",\"num_requests\",\"total_bytes\",\"requests_per_sec\",\"bytes_per_sec\",\"min_microseconds\",\"max_microseconds\",\"mean_microseconds\",\"stdev_microseconds\",\"percentile_90_microseconds\",\"percentile_95_microseconds\",\"percentile_99_microseconds\"\n")
io.write(string.format("%d,%d,%d,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f",summary.duration,summary.requests,summary.bytes,summary.requests/(summary.duration),(summary.bytes/summary.duration),latency.min,latency.max,latency.mean,latency.stdev,latency:percentile(90.0),latency:percentile(95.0),latency:percentile(99.0)))
end

@ -1,28 +1,6 @@
function done(summary, latency, requests)
file = io.open('docker/data/index.json', 'w')
file = io.open('../docker/data/index.csv', 'w')
io.output(file)
io.write(string.format("{\n"))
io.write(string.format(" \"summary\": {\n"))
io.write(string.format(" \"duration_microseconds\": %d,\n", summary.duration))
io.write(string.format(" \"num_requests\": %d,\n", summary.requests))
io.write(string.format(" \"total_bytes\": %d,\n", summary.bytes))
io.write(string.format(" \"requests_per_sec\": %.2f,\n", summary.requests/(summary.duration)))
io.write(string.format(" \"bytes_per_sec\": \"%.2f\"\n", summary.bytes/summary.duration))
io.write(string.format(" },\n"))
io.write(string.format(" \"latency\": {\n"))
io.write(string.format(" \"min_microseconds\": %.2f,\n", latency.min))
io.write(string.format(" \"max_microseconds\": %.2f,\n", latency.max))
io.write(string.format(" \"mean_microseconds\": %.2f,\n", latency.mean))
io.write(string.format(" \"stdev_microseconds\": %.2f,\n", latency.stdev))
io.write(string.format(" \"percentile_90_microseconds\": %.2f,\n", latency:percentile(90.0)))
io.write(string.format(" \"percentile_95_microseconds\": %.2f,\n", latency:percentile(95.0)))
io.write(string.format(" \"percentile_99_microseconds\": %.2f\n", latency:percentile(99.0)))
io.write(string.format(" }\n"))
io.write(string.format("}\n"))
end
io.write("\"duration_microseconds\",\"num_requests\",\"total_bytes\",\"requests_per_sec\",\"bytes_per_sec\",\"min_microseconds\",\"max_microseconds\",\"mean_microseconds\",\"stdev_microseconds\",\"percentile_90_microseconds\",\"percentile_95_microseconds\",\"percentile_99_microseconds\"\n")
io.write(string.format("%d,%d,%d,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f",summary.duration,summary.requests,summary.bytes,summary.requests/(summary.duration),(summary.bytes/summary.duration),latency.min,latency.max,latency.mean,latency.stdev,latency:percentile(90.0),latency:percentile(95.0),latency:percentile(99.0)))
end

@ -1,29 +1,8 @@
wrk.method = "POST"
function done(summary, latency, requests)
file = io.open('docker/data/post.json', 'w')
file = io.open('../docker/data/post.csv', 'w')
io.output(file)
io.write(string.format("{\n"))
io.write(string.format(" \"summary\": {\n"))
io.write(string.format(" \"duration_microseconds\": %d,\n", summary.duration))
io.write(string.format(" \"num_requests\": %d,\n", summary.requests))
io.write(string.format(" \"total_bytes\": %d,\n", summary.bytes))
io.write(string.format(" \"requests_per_sec\": %.2f,\n", summary.requests/(summary.duration)))
io.write(string.format(" \"bytes_per_sec\": \"%.2f\"\n", summary.bytes/summary.duration))
io.write(string.format(" },\n"))
io.write(string.format(" \"latency\": {\n"))
io.write(string.format(" \"min_microseconds\": %.2f,\n", latency.min))
io.write(string.format(" \"max_microseconds\": %.2f,\n", latency.max))
io.write(string.format(" \"mean_microseconds\": %.2f,\n", latency.mean))
io.write(string.format(" \"stdev_microseconds\": %.2f,\n", latency.stdev))
io.write(string.format(" \"percentile_90_microseconds\": %.2f,\n", latency:percentile(90.0)))
io.write(string.format(" \"percentile_95_microseconds\": %.2f,\n", latency:percentile(95.0)))
io.write(string.format(" \"percentile_99_microseconds\": %.2f\n", latency:percentile(99.0)))
io.write(string.format(" }\n"))
io.write(string.format("}\n"))
end
io.write("\"duration_microseconds\",\"num_requests\",\"total_bytes\",\"requests_per_sec\",\"bytes_per_sec\",\"min_microseconds\",\"max_microseconds\",\"mean_microseconds\",\"stdev_microseconds\",\"percentile_90_microseconds\",\"percentile_95_microseconds\",\"percentile_99_microseconds\"\n")
io.write(string.format("%d,%d,%d,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f",summary.duration,summary.requests,summary.bytes,summary.requests/(summary.duration),(summary.bytes/summary.duration),latency.min,latency.max,latency.mean,latency.stdev,latency:percentile(90.0),latency:percentile(95.0),latency:percentile(99.0)))
end

@ -0,0 +1,39 @@
./collect-jars.sh
test () {
parentdir="$(dirname "$(pwd)")"
xterm -e "docker run --rm -it -p 8080:8080 -w /root -v $parentdir/docker/jars/$1:/root $2:$3 java -jar app.jar" &
TEST_DOCKER_PID=$!
sleep 1
./wrk-test.sh $1 $2 $3 12 100 15
sleep 1
kill $TEST_DOCKER_PID
sleep 1
}
modules=( 'quarkus-resteasy-jackson' 'quarkus-resteasy-jsonb' 'jersey-grizzly2' 'jersey-jdk-http' 'jersey-simple-http' 'jersey-jetty' 'jersey-netty' 'jersey-netty' 'jersey-netty' 'jersey-netty' 'rawnetty' 'jooby-netty' 'jooby-jetty' 'jooby-undertow' 'resteasy-jdk-http' 'resteasy-netty' 'resteasy-reactor-netty' 'resteasy-vertx' 'resteasy-undertow' 'cxf-jetty' 'cxf-netty' 'cxf-undertow' )
versions=( '8' '11' '17' )
for version in "${versions[@]}"
do
jkds=( 'amazoncorretto' 'azul/zulu-openjdk' 'azul/zulu-openjdk-alpine' 'eclipse-temurin' 'openjdk' )
for jdk in "${jkds[@]}"
do
for module in "${modules[@]}"
do
test $version $jdk $module
done
done
done
versions=( '8-alpine' '11-alpine' '17-alpine' )
for version in "${versions[@]}"
do
jkds=( 'amazoncorretto' 'eclipse-temurin' 'openjdk' )
for jdk in "${jkds[@]}"
do
for module in "${modules[@]}"
do
test $version $jdk $module
done
done
done

@ -1,12 +1,18 @@
echo "Module: $1";
echo "Threads: $2";
echo "Connections: $3";
echo "Duration: $4";
wrk -t$2 -c$3 -d$4s -s ./scripts/lua/dump_index.lua http://127.0.0.1:8080/test/
wrk -t$2 -c$3 -d$4s -s ./scripts/lua/dump_get.lua http://127.0.0.1:8080/test/100
wrk -t$2 -c$3 -d$4s -s ./scripts/lua/dump_post.lua http://127.0.0.1:8080/test/100
mv ./docker/data/index.json ./docker/data/index-$1.json
mv ./docker/data/get.json ./docker/data/get-$1.json
mv ./docker/data/post.json ./docker/data/post-$1.json
# echo "Module: $1";
# echo "JDK image: $2";
# echo "JDK version: $3";
# echo "Threads: $4";
# echo "Connections: $5";
# echo "Duration: $6";
jdk_suffix=$2
jdkim="$(echo $jdk_suffix | sed -e 's/\//@/g')"
wrk -t$4 -c$5 -d$6s -s ./lua/dump_index.lua http://127.0.0.1:8080/test/
mv ../docker/data/index.csv ../docker/data/index_$3_$1_$jdkim.csv
wrk -t$4 -c$5 -d$6s -s ./lua/dump_get.lua http://127.0.0.1:8080/test/100
mv ../docker/data/get.csv ../docker/data/get_$3_$1_$jdkim.csv
wrk -t$4 -c$5 -d$6s -s ./lua/dump_post.lua http://127.0.0.1:8080/test/100
mv ../docker/data/post.csv ../docker/data/post_$3_$1_$jdkim.csv
Loading…
Cancel
Save