Jar collection scripts, wrk wrapper and lua for json format

master
Edward M. Kagan 4 years ago
parent 390e6dcb40
commit 5a0e1ac07f

4
.gitignore vendored

@ -3,4 +3,6 @@ dependency-reduced-pom.xml
.classpath
.settings
.factorypath
target
target
docker/jars
docker/data

@ -0,0 +1,28 @@
# JAX-RS compliant kernels test
## Build time (for reference only)
| Kernel | time |
| ------------------------ | ------- |
| quarkus-resteasy-jackson | 1.463 s |
| quarkus-resteasy-jsonb | 0.943 s |
| jersey-grizzly2 | 1.029 s |
| jersey-jdk-http | 0.350 s |
| jersey-simple-http | 0.370 s |
| jersey-jetty | 0.465 s |
| jersey-netty | 0.596 s |
| jersey-netty | 0.596 s |
| jersey-netty | 0.596 s |
| jersey-netty | 0.596 s |
| rawnetty | 0.659 s |
| jooby-netty | 0.497 s |
| jooby-jetty | 0.360 s |
| jooby-undertow | 0.410 s |
| resteasy-jdk-http | 0.319 s |
| resteasy-netty | 0.603 s |
| resteasy-reactor-netty | 0.813 s |
| resteasy-vertx | 0.648 s |
| resteasy-undertow | 0.568 s |
| cxf-jetty | 0.572 s |
| cxf-netty | 0.618 s |
| cxf-undertow | 0.691 s |

@ -0,0 +1,49 @@
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
cp ../modules/cxf-netty/target/cxf-netty-1.0-SNAPSHOT.jar ../docker/jars/cxf-netty/app.jar
mkdir -p ../docker/jars/cxf-undertow
cp ../modules/cxf-undertow/target/cxf-undertow-1.0-SNAPSHOT.jar ../docker/jars/cxf-undertow/app.jar
mkdir -p ../docker/jars/jersey-grizzly2
cp ../modules/jersey-grizzly2/target/jersey-grizzly2-1.0-SNAPSHOT.jar ../docker/jars/jersey-grizzly2/app.jar
mkdir -p ../docker/jars/jersey-jdk-http
cp ../modules/jersey-jdk-http/target/jersey-jdk-http-1.0-SNAPSHOT.jar ../docker/jars/jersey-jdk-http/app.jar
mkdir -p ../docker/jars/jersey-jetty
cp ../modules/jersey-jetty/target/jersey-jetty-1.0-SNAPSHOT.jar ../docker/jars/jersey-jetty/app.jar
mkdir -p ../docker/jars/jersey-netty
cp ../modules/jersey-netty/target/jersey-netty-1.0-SNAPSHOT.jar ../docker/jars/jersey-netty/app.jar
mkdir -p ../docker/jars/jersey-simple-http
cp ../modules/jersey-simple-http/target/jersey-simple-http-1.0-SNAPSHOT.jar ../docker/jars/jersey-simple-http/app.jar
mkdir -p ../docker/jars/jooby-jetty
cp ../modules/jooby-jetty/target/jooby-jetty-1.0-SNAPSHOT.jar ../docker/jars/jooby-jetty/app.jar
mkdir -p ../docker/jars/jooby-netty
cp ../modules/jooby-netty/target/jooby-netty-1.0-SNAPSHOT.jar ../docker/jars/jooby-netty/app.jar
mkdir -p ../docker/jars/jooby-undertow
cp ../modules/jooby-undertow/target/jooby-undertow-1.0-SNAPSHOT.jar ../docker/jars/jooby-undertow/app.jar
cp -r ../modules/quarkus-resteasy-jackson/target/quarkus-app ../docker/jars/quarkus-resteasy-jackson
mv ../docker/jars/quarkus-resteasy-jackson/quarkus-run.jar ../docker/jars/quarkus-resteasy-jackson/app.jar
cp -r ../modules/quarkus-resteasy-jsonb/target/quarkus-app ../docker/jars/quarkus-resteasy-jsonb
mv ../docker/jars/quarkus-resteasy-jsonb/quarkus-run.jar ../docker/jars/quarkus-resteasy-jsonb/app.jar
mkdir -p ../docker/jars/rawnetty
cp ../modules/rawnetty/target/rawnetty-1.0-SNAPSHOT.jar ../docker/jars/rawnetty/app.jar
mkdir -p ../docker/jars/resteasy-jdk-http
cp ../modules/resteasy-jdk-http/target/resteasy-jdk-http-1.0-SNAPSHOT.jar ../docker/jars/resteasy-jdk-http/app.jar
mkdir -p ../docker/jars/resteasy-netty
cp ../modules/resteasy-netty/target/resteasy-netty-1.0-SNAPSHOT.jar ../docker/jars/resteasy-netty/app.jar
mkdir -p ../docker/jars/resteasy-reactor-netty
cp ../modules/resteasy-reactor-netty/target/resteasy-reactor-netty-1.0-SNAPSHOT.jar ../docker/jars/resteasy-reactor-netty/app.jar
mkdir -p ../docker/jars/resteasy-undertow
cp ../modules/resteasy-undertow/target/resteasy-undertow-1.0-SNAPSHOT.jar ../docker/jars/resteasy-undertow/app.jar
mkdir -p ../docker/jars/resteasy-vertx
cp ../modules/resteasy-vertx/target/resteasy-vertx-1.0-SNAPSHOT.jar ../docker/jars/resteasy-vertx/app.jar

@ -0,0 +1,28 @@
function done(summary, latency, requests)
file = io.open('docker/data/get.json', '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

@ -0,0 +1,28 @@
function done(summary, latency, requests)
file = io.open('docker/data/index.json', '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

@ -0,0 +1,29 @@
wrk.method = "POST"
function done(summary, latency, requests)
file = io.open('docker/data/post.json', '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

@ -0,0 +1,12 @@
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
Loading…
Cancel
Save