Comparing JVM performance; Zulu OpenJDK, OpenJDK, Oracle JDK, GraalVM CE

Click for: original source

Comparison article by Maarten Smeets in which he tries to help you to choose the best Java Virtual Machine (JVM) for your project. There are numerous different choices for a JVM for your Java application.

Solid performance research however is difficult. In this blog author describes a setup he created to perform tests on different JVMs at the same time. He also looked at the effect of resource isolation (assigning specific CPUs and memory to the process).

The test application consisted of a reactive (non-blocking) Spring Boot REST application and he used Prometheus to poll the JVMs and Grafana for visualization. Below is an image of the used setup. Everything was running in Docker containers except SoapUI.

The article then describes:

  • Isolated measures
  • Setup
  • Different OSs
  • Garbage collection
  • Results explanation

Author conducted a load test using SOAP UI with a reactive Spring Boot REST application running on 4 different JVMs behind a round robin haproxy load balancer. He used Prometheus to poll the JVM instances and Grafana and Prometheus to visualize the data.

Find out more!

[Read More]

Tags jvm java performance devops programming