Do you want your ad here?

Contact us to get your ad seen by thousands of users every day!

[email protected]

Improve Your Java Applications’ Startup and Compilation Speed with Optimizer Hub

  • June 27, 2025
  • 2021 Unique Views
  • 3 min read
Table of Contents
What is Optimizer Hub?Is Optimizer Hub required to use ReadyNow?Advantages of using ReadyNow OrchestratorMore advantages of Optimizer HubConclusion

This is the fourth blog post in a series on faster Java application warmup with ReadyNow. If you haven’t been following the series, go back to the first blog post, Faster Java Warmup: CRaC versus ReadyNow, and catch up. This post examines Optimizer Hub, a set of services external to the JVM within Azul Platform Prime that you can run in your cloud or on-premises environment to improve your applications’ startup and compilation speed.

Optimizer Hub provides the services Cloud Native Compiler and ReadyNow Orchestrator, which can be combined with ReadyNow, included in Azul Zing Builds of OpenJDK (Zing), to further improve your applications’ startup and compilation speed.

What is Optimizer Hub?

Optimizer Hub is a component of Azul Platform Prime that makes your Java programs start and stay fast. It consists of two services:

  • Cloud Native Compiler: Provides a server-side optimization solution that offloads JIT compilation from Zing’s Falcon JIT compiler to separate and dedicated service resources, providing more processing power to JIT compilation while freeing your client JVMs from the burden of doing JIT compilation locally.
  • ReadyNow Orchestrator: Records and serves ReadyNow profiles. This greatly simplifies the operational use of ReadyNow and removes the need to configure any local storage for writing the profile logs. ReadyNow Orchestrator can record multiple profile candidates from multiple JVMs and promote the best-recorded profile.

Optimizer Hub is shipped as a Kubernetes cluster, which you provision and run on your cloud or on-premises servers. It runs alongside your other clusters with the Java applications in your environment.

Is Optimizer Hub required to use ReadyNow?

Absolutely not! As we explained in the previous posts in this series, ReadyNow is fully integrated into Zing. With the -XX:ProfileLogOut=<file> and -XX:ProfileLogIn=<file> command line options, you can generate profile logs locally on your machine or a production server and reuse them on the same and other machines.

You can add Optimizer Hub to your production environment to reduce the operational complexity of using ReadyNow within a more extensive system. The ReadyNow Orchestrator service helps you to automatically handle training runs, simplify the management of profile log files by offloading the storage from the JVM instances, and more.

Advantages of using ReadyNow Orchestrator

Some of the advantages of using the ReadyNow Orchestrator service of Optimizer Hub:

  1. Centralized Profile Storage: ReadyNow Orchestrator serves as the central storage for the profiles for all JVMs and removes the need to configure any local storage on the instances that run your Java applications. This also simplifies using containers, removing the need to configure persistent storage or bake profiles into images each time you build a new image.
  2. Profile Training: ReadyNow Orchestrator records multiple training generations of your profile to produce the best possible optimization profile.
  3. Promotion of Profiles: ReadyNow Orchestrator automatically collects profile candidates from many JVMs running the same ProfileName and performing training runs to generate the best-promoted profile.
  4. Providing Profiles to JVMs: ReadyNow Orchestrator automatically serves the best profile to newly started JVMs.

More advantages of Optimizer Hub

The ReadyNow Orchestrator service is part of Optimizer Hub, which provides more advantages:

  1. Cloud Native Compiler: This second service is included in Optimizer Hub and further improves your applications’ warmup by closely integrating with ReadyNow Orchestrator.
  2. Flexibility: Optimizer Hub is shipped as a Kubernetes cluster that you can provision and run on your cloud or on-premises servers. This provides flexibility in how you deploy to suit your infrastructure needs.
  3. Multiple Modes: Optimizer Hub can run in different modes, including ReadyNow-only. This flexibility allows for deploying a reduced set of Optimizer Hub components in the Kubernetes cluster when only ReadyNow Orchestrator is needed, which can benefit resource management.
  4. Regular Updates: Optimizer Hub includes regular updates and bug fixes in sync with Prime releases to ensure optimal performance and compatibility.
  5. Monitoring: Optimizer Hub provides detailed metrics about compilations, which you can use in your monitoring tools or with the provided Grafana dashboard.

Conclusion

Although Optimizer Hub, with its ReadyNow Orchestrator, is not required to use ReadyNow in your Zing runtime environment, it can significantly help reduce the operational complexity of an extensive production system.

Next: When ReadyNow Can Only Compile on Traffic Loads

Faster Java Warmup: CRaC versus ReadyNow

Table of Contents What happens at Java startup Java warmup phase  Deoptimizations Solutions Provided by Azul Coordinated Restore at Checkpoint (CRaC)  ReadyNow  Cloud Native Compiler CRaC Compared to ReadyNow Conclusion  This is the first blog post in a series on faster …

How ReadyNow Improves Java Warmup Time

Table of Contents How ReadyNow achieves faster compilationsNormal startupWhat’s in the fileStartup with fileComparing the different runs Tier 1 compile counts Tier 2 Compile Counts Compiler queue run Conclusion This is the second article in a series on faster Java …

How to Train ReadyNow to Achieve Optimal Java Performance

Table of Contents Understanding ReadyNow generationsTIPWhen using the ReadyNow Orchestrator feature of Optimizer Hub, the creation of a promoted profile is handled automatically. This will be explained in the next blog post in this series.Possible approachesTIPTo reach an optimal profile, …

Superfast Application Startup: Java on CRaC

If you want a superfast startup for your Java applications without warmup time or resources, why not try Java on CRaC?

The Anatomy of a JVM

Find out how the JVM handles many tasks that you, as a developer, don’t want and need to take care of compared to other languages.

Do you want your ad here?

Contact us to get your ad seen by thousands of users every day!

[email protected]

Comments (0)

Highlight your code snippets using [code lang="language name"] shortcode. Just insert your code between opening and closing tag: [code lang="java"] code [/code]. Or specify another language.

No comments yet. Be the first.

Subscribe to foojay updates:

https://foojay.io/feed/
Copied to the clipboard