# Start RabbitMQ
docker-compose up
# Start Service which processes a published event with 0-500ms delay
docker run -d -m=500m --cpus="1" --network host rabbitmq-service
# Start one of the Servers
java -jar blocking-server-spring/target/blocking-server-spring.jar
java -jar nonblocking-server-spring/target/nonblocking-server-spring.jar
java -jar nonblocking-server-helidon/target/nonblocking-server-helidon.jar
# Run Performance Test
mvn gatling:test -Dgatling.simulationClass=pbouda.rabbitmq.gatling.Generator
-XX:+UnlockDiagnosticVMOptions -XX:NativeMemoryTracking=summary -XX:+PrintNMTStatistics
https://github.com/petrbouda/async-profiler-playground
(context-switches / lock / cache-misses / cycles / instructions / cpu / alloc)
profiler.sh -d 30 -e lock -f profile.svg <pid>
java -XX:+UnlockDiagnosticVMOptions -XX:+DebugNonSafepoints \
-jar blocking-server-spring/target/blocking-server-spring.jar
java -XX:+UnlockDiagnosticVMOptions -XX:+DebugNonSafepoints \
-jar nonblocking-server-spring/target/nonblocking-server-spring.jar
java -XX:+UnlockDiagnosticVMOptions -XX:+DebugNonSafepoints \
-jar nonblocking-server-helidon/target/nonblocking-server-helidon.jar