GlassFish to Payara Server Migration - Migrating Away From the Performance Tuner
Published on 21 Mar 2017by Fabio Turizo
In the last part of our series on migrating away from Oracle GlassFish Server, we will look at replacing the functionality of the Performance Tuner.
Performance Tuner - what is it?
The Oracle GlassFish Performance Tuner is a special tool that can be used to automatically tune in the settings of a standalone instance or a cluster configuration group. According to Oracle:
[The Performance Tuner] Improves out-of-the-box performance by up to 300% and even more on Oracle SPARC T-Series servers.
The Performance Tuner executes a process that consists of 2 steps:
1. The server will ask the user simple questions to assess the state and capabilities of the machine context like:
- Physical RAM and CPUs available
- What are the desired JVM settings? What is the maximum heap available? Any garbage collection strategies in mind?
- What is the allocation time for database access?
- Should the access logger and security manager components be disabled?
2. After answering these questions, the tuner will propose a set of recommended changes to be implemented on the server’s configuration of your choosing. After confirming these changes, the tuner will implement them in the domain.xml configuration file (and other configuration files if applicable), and they will be effective after a domain, instance or cluster restart.
The tuner’s is tailored to make the job of optimizing the server's configuration easier when installing or deploying GlassFish to production environments. As noted in the previous quote, the tuner will greatly increase performance on Oracle’s T-series SPARC servers as well.
How can it be replaced?
When installing and deploying Payara Server to production environments, fine-tuning of the server's configuration must be done in all cases. At this point in time, Payara Server doesn't provide a feature that executes this task automatically. However, considering that the nature of the Performance Tuner is to be used on demand when tuning production environments, the true advantage of the Tuner is that it will execute the optimizations for you. All optimizations done by the Performance Tuner can be done manually by the user by making the appropriate changes to configuration settings.
How can you do these optimizations on Payara Server? Simple: since Payara Server is derived from GlassFish, you can just follow the guidelines provided by the official GlassFish Performance Tune Guide.
The guide will encourage you to assess the non-functional requirements for your applications while the Tuner assumes some default values based on your considerations, so in this case a planned approach is a better option when you want to get the best throughput for your configuration.
If you are using Payara Server in an Oracle T-series SPARC server, pay attention to the recommendations of section 5-6. Tuning UltraSPARC CMT-Based systems and apply the optimizations that you consider appropriate.
To simplify the work to be done when tuning these configurations' parameters (especially the JVM settings), Payara Server comes with a production-ready domain template to be used when deploying the server to production environments.
We encourage users that require more guidance on applying optimizations to production environments to follow the general guidelines we have posted in our Fine Tuning Payara Server in Production blog post.