Java Performance Tuning

Java(TM) - see bottom of page

|home |services |training |newsletter |tuning tips |tool reports |articles |resources |about us |site map |contact us |
Tools: | GC log analysers| Multi-tenancy tools| Books| SizeOf| Thread analysers| Heap dump analysers|

Our valued sponsors who help make this site possible
JProfiler: Get rid of your performance problems and memory leaks! 

Training online: Concurrency, Threading, GC, Advanced Java and more ... 

Question of the month: J2EE profiling

Get rid of your performance problems and memory leaks!

Modern Garbage Collection Tuning
Shows tuning flow chart for GC tuning

Java Performance Training Courses
COURSES AVAILABLE NOW. We can provide training courses to handle all your Java performance needs

Java Performance Tuning, 2nd ed
The classic and most comprehensive book on tuning Java

Java Performance Tuning Newsletter
Your source of Java performance news. Subscribe now!
Enter email:

Training online
Threading Essentials course

Get rid of your performance problems and memory leaks!

Back to newsletter 038 contents

My profiler imposes too heavy an overhead on my J2EE application, is there an alternative?

I'm afraid that you have discovered that you need to keep trying different tools in different configurations until you can find one that gives you reasonable statistics without too much overhead. You can usually run the verbosegc option to get GC stats, and as we said in last week's QOTM about Xprof you can get some information almost for free using the Xprof profiler (assuming you are running HotSpot of course), but if you want to profile a heavy duty server you need to use something with very low overhead. Perhaps a J2EE monitor could help, look on and they are listed first. There are other tools listed there and free ones too, listed at .

One of these tools usually works sufficiently to give you useful stats, but in those cases where they don't, you need to instrument the code yourself. I can recommend a good performance tuner to come and consult if you have the budget -;) otherwise, it will be a matter for you to keep trying until your performance tuning expertise has increased sufficiently to be able to infer what to use and where. Sorry, but there are no magic bullets in this situation, it takes intuition or experience to extract the information identifying bottlenecks in this situation. If I ever come up with a step-by-step reliable procedure for identifying J2EE bottlenecks in general, I'll publish it.

Profiling J2EE applications is challenging. The J2EE monitor vendors are trying their hardest to make it simpler, and their products certainly give you a boost in identifying performance problems, and some types of J2EE bottlenecks that used to be really difficult to identify can now be found relatively easily. But J2EE applications are often of such complexity that there can be bottlenecks which are difficult to identify without jumping through hoops.

The team

Back to newsletter 038 contents

Last Updated: 2022-11-29
Copyright © 2000-2022 All Rights Reserved.
All trademarks and registered trademarks appearing on are the property of their respective owners.
Java is a trademark or registered trademark of Oracle Corporation in the United States and other countries. is not connected to Oracle Corporation and is not sponsored by Oracle Corporation.
RSS Feed:
Trouble with this page? Please contact us