To improve the performance of a Java™ application, you can use IBM® Health Center to analyze the application.
This tool provides recommendations to help you improve the performance
and efficiency of your application.
About this task
IBM Health Center
is available in the IBM Support Assistant Workbench. These
free tools are available to download from IBM as described in
the Getting Started guide for IBM Health Center. Try to run the application in a JVM on its own. If you are running a
mixed workload in a JVM server, it might be more difficult to analyze a particular application.
Procedure
- Add the required connection options to the JVM profile
of the JVM server.
The IBM Health
Center documentation describes what options you must add to connect
to the JVM from the tool.
- Start IBM Health
Center and connect it to your running JVM.
IBM Health Center reports JVM activity in real
time so wait a few moments for it to monitor the JVM.
- Select the Profiling link to profile
the application.
You can check the time spent in different
methods. Check the methods with the highest usage to look for any
potential problems.
Tip: The Analysis and Recommendations tab
can identify particular methods that might be good candidates for
optimization.
- Select the Locking link to check
for locking contentions in the application.
If the Java workload is unable to use all
the available processor, locking might be the cause. Locking in the
application can reduce the amount of parallel threads that can run.
- Select the Garbage Collection link
to check the heap usage and garbage collection.
The Garbage
Collection tab can tell you how much heap is being used
and how often the JVM pauses to perform garbage collection.
- Check the proportion of time spent in garbage collection.
This information is presented in the Summary section. If the
time spent in garbage collection is more than 2%, you might need to
adjust your garbage collection.
- Check the pause time for garbage collection.
If
the pause time is more than 10 milliseconds, the garbage collection
might be having an effect on application response times.
- Divide the rate of garbage collection by the number
of transactions to find out approximately how much garbage is produced
by each transaction.
If the amount of garbage seems high
for the application, you might have to investigate the application
further.
What to do next
After you have analyzed the application, you can tune the Java environment for your Java workloads.