GlassFish Value-Ad Feature Tuner
By Nachiappan Veerappan Nachiappan on Feb 10, 2009
Tuner is one of the value-ad features of GlassFish V2.1 application server. The objective of Tuner is to significantly improve the performance of GlassFish Server by adjusting configuration settings of the stand-alone server/cluster instances.
Tuner asks seven simple question to the user about their deployment environment. Based on the responses to the questions tuner determines the optimal configuration for the production environment.
From the drop down list select the configuration (stand-alone server/cluster) you would like to tune. The first question is number of cores. You need specify the number of processor threads you want to allocate for server/cluster instances. The default is 1. On a Sun-Fire T-2000 machine, the number of processor threads is returned by a command such as psrinfo. For more information, consult your hardware vendor's data sheet.
The second question is the Maximum Available Heap Memory, you need to specify the size of the heap memory for the Enterprise Server's JVM server instance. The default is 1024MB. The specified value for heap memory may not be applied if the tuner determines that it is not optimal.
The third question is Allocation time for Database access. The options are Low (0% -10%), Medium (10% - 20%), High (>= 20%). The options corresponds to percentage of time spent in accessing database. The default option selected is Medium which corresponds to 10% - 20% of database access time spent by the applications deployed on the server/cluster. If you have multiple application deployed on the server/cluster being tuned, then chosen option should represent the sum of the percentage of time spent in accessing database tier by all applications.
The fourth question is Garbage Collection Strategy. For this field you need to choose an option from the drop down list. The options determines what happens to garbage collection in the JVM. The options are Maximum Peak Throughput (Higher GC Pause) or Low GC Pause (Lower Peak Throughput). The default is Maximum Peak Throughput. The Enterprise Server's JVM can be configured to have many short GC pauses or a small number of relatively large GC pauses.
The next two questions are Disable SecurityManager and Disable Access Logger. You need to Specify whether to disable the Java Platform Security Manager and Access Logger. The default is yes.
The last question is, Whether the glassfish server instance is running on Niagra platform. Check this box if the server instances are running on a niagra platform. The default is no.
After you answered the seven questions click the next button for the tuner to determine the optimal configuration for your server/cluster being tuned. In the second screen you can see all the configuration suggested by the tuner. You can scroll through the list and if you find everything good, go ahead and apply the proposed configuration by clicking the confirm button.
Note: Before applying configuration changes to the domain.xml file, Tuner takes a back-up of the domain.xml and save in a new directory called tuner created under <GLASSFISH_INSTALL_ROOT>
Restart of server/cluster being tuned is required for the new configuration changes to take effect.
Note: The performance improvement number essentially represents the difference between GlassFish server deployed out-of-box and GlassFish server deployed after using our Tuner.
In conclusion the Tuner module is designed for ease of use. Using Tuner, the user can configure the glassfish server to best performance in seconds. Tuner also provides platform specific optimal configuration. Example Niagara platform.