Tuesday Feb 10, 2009

GlassFish Value-Ad Feature Tuner

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.

Tuner ScreenCast

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>/domains/<DOMAIN_NAME>/config. Anytime if the user wants to revert back to the previous configuration, all that the user needs to do is copy the latest back-up of domain.xml file from the tuner directory to domain.xml file under <GLASSFISH_INSTALL_ROOT>/domains/<DOMAIN_NAME>/config directory.

Restart of  server/cluster being tuned is required for the new configuration changes to take effect.

To illustrate the effect of tuning GlassFish Application server effectively, an e-commerce type web application was deployed on Glassfish server and subjected to a load. From the test results we observed that there was a performance improvement of over 300% after tuning the GlassFish server using our performance tuner. On platforms like Niagra, the performance improvement observed was over 600 % after tuning. The performance number obtained has taken into account both the throughput and response time of the GlassFish server.
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.

Monday Feb 09, 2009

Tuner ScreenCast

[Read More]

Nachiappan Veerappan Nachiappan


« June 2016