My test application consisted of a reactive (non-blocking) Spring Boot REST application and I’ve used Prometheus to poll the JVMs and Grafana for visualization.
Using docker-compose to configure a specific CPU for a process is challenging.
关于measure的不确定性?
My setup consisted of a docker-compose file which allowed me to easily start 4 times a reactive Spring Boot application running on the different JVMs. In front of the 4 JDKs I’ve put an haproxy instance to load balance requests.
localhost:8080/actuator/env
1 | docker exec -it store/oracle/serverjre:8 java -version |
分别从CPU usage/response times/garbage collection/memory usage
Zulu OpenJDK uses least memory of the compared JVMs. Zulu OpenJDK and GraalVM are more stable in their memory usage when comparing to Oracle JDK and OpenJDK.
GraalVM allows code to be compiled to a native executable. 热执行?
还有待优化,以及default parameters部分