Slow Java application startup is still an area for
improvement for the OpenJDK that is of interest to the community.
Coordinated
Restore at Checkpoint (CRaC)
is an OpenJDK project aimed at reducing startup and warmup times and providing
immediate high performance for Java applications.
Spring is one of the most popular Java frameworks, thanks
to its deep tech prospects, pre-announced adding CRaC support. This is some of the most anticipated news for
Java developers.
BellSoft is glad to inform you that Liberica JDK 17 and
21 builds enhanced with CRaC are now available for free download. With this
progressive version of Liberica JDK, you immediately eliminate the slow startup
and warmup issue. The new builds will be available for x86_64 и AArch64 CPU
architectures and Linux operating system.
CRaC
principles and benefits
CRaC offers a
Checkpoint/Restore API to create an image of a running application at an
arbitrary point in time ("checkpoint") and then start the image from the
checkpoint file ("snapshot"), restoring the state of an application from the
point when the checkpoint was made.
Essentially, the application can
be paused and restarted from the moment it was paused, and in addition,
numerous replicas of this file can be distributed, which is especially relevant
for multi-instance deployment.
In addition, it can
perform essential preliminary tasks, such as closing network connections and
open file descriptors, then return to normal operation after being restored and
react to possible changes in the environment since the checkpoint.
Coordinated
Checkpoint/Restore makes the application aware of the fact that it is being
paused and restarted. This way, the application can cancel the checkpoint if it
deems the moment unsuitable for saving the state (when it performs certain
operations such as saving the user data, for example).
Liberica
JDK with newly added CRaC technology significantly reduces your cloud costs,
all due to:
- faster Java
start-up and warm-up;
- smaller CPU
consumption;
- same SLA on
fewer resources.
Our tests of CRaC-ed Liberica JDK with Spring Boot
Petclinic show the results of startup reduction from 7.1 seconds to 54
milliseconds without additional configuration!
Spring Boot and Liberica JDK with CRaC: startup study results
"In recent years, OpenJDK enhancements were mainly
aimed at adapting Java to the cloud. The Graal VM Native Image technology was a
success for several years. The Leyden project and the Coordinated Restore and
Checkpoint (CRaC) bring another approach to reducing Java application start-up
and increasing its performance in the cloud. BellSoft endeavors to deliver such
solutions at early stages of adaptation, and we believe that release of
Liberica JDK with CRaC technology is very important for the entire OpenJDK
community and for Spring users in particular," said Alex Belokrylov,
BellSoft's CEO.
Download
Liberica JDK 17 and 21 with CRaC now to keep up with the higher speed and safety demands
of the cloud environment!