Runtime Pitfalls
Inefficiencies that cost a lot at scale
- The Dockerfile on the right does not use Project Leyden. Project Leyden alone can contribute 15-30% of RSS footprint drop, and reduce startup time by 40-50%. Axelix detects that.
- Axelix will detect, that the app on the right is using Java 25. In Java 25, the Compact Object Headers feature is a stable production ready way to reduce the heap size by up to 20%. However, it is not enabled by default in Java 25 - Axelix will tell you about that.
- The way most Docker images are built (the one on the right is not an exception) is by copying the fat jar into the image and use Spring Boot's URL classloader. That significantly increases the image size, along with the startup time.
- Application on the right does not arrange any GC logging setup. Configuring GC logging is vrey important for overall performance analysis. Axelix will detect that.