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 ... 

News April 2014

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 161 contents

Performance targets are advocated by almost everyone. If you want to performance tune effectively, you should have targets in place, otherwise you can tune the wrong thing, and waste effort and resources tuning too much.

But there are plenty of times when you DO tune without a target. I suspect that the majority of tuning effort (that's tuning effort, not effective tuning!) is done at development time, developers looking at some of their code and thinking "I can make this a little faster by doing that", despite having no idea whether that piece of code will ever need to be a little faster. This is the amorphous, and probably wasteful tuning target of "make it as fast as I can". Are there times when this is a reasonable target? Not really. But ...

A note from this newsletter's sponsor

Get total visibility in just 15 minutes with AppDynamics PRO,
A performance monitoring tool for Java/.NET apps.
It installs in minutes. Start your FREE TRIAL today.

But the tuning target isn't really "make it as fast as I can". It's actually "make it as fast as I can within a reasonable effort". Now while that's not an ideal performance target, it is a valid one. A performance target has several components:

  1. What is it that needs to happen in a time that is not "too slow"?
  2. What is "too slow" for that?
  3. How will I measure if it's "too slow"?
  4. How much effort can I make to ensure it's not "too slow"?

So the answers for a page download might be 1 - "page X downloading"; 2 - "1 second for 9999/10000 downloads"; 3 - "A load testing tool, time elapsed from request initiation in the client until download is complete"; 4 - Actually, this is a really hard question to answer.

Realistically, you'd expect a page download "too slow" problem to be fixed in a few days. But maybe this is a critical page and 1 second is already at the limit of testing acceptability. What if the page is taking 100 seconds and the project can't go live without a 1 second target. What if the entire architecture needs rewriting to achieve acceptable time? More often than not, the answer to this question is "find out the current timing, see how far that is from unnacceptable, estimate how much it will take to fix it, and ask the funder whether they want to spend that much".

Of course, the developer's answers to those questions on their code during development are often 1 - "this code"; 2 - "this code"; 3 - "my experience of what I think is too slow by reading the code"; 4 - "a few hours". Whether you think that's reasonable or not probably doesn't matter, it's a fact of life that developers will intermittently answer this way on the code they're working on. Now on to our links to Java performance tools, news, articles and, as ever, all the extracted tips from all of this month's referenced articles.

A note from this newsletter's sponsor

ManageEngine's Site24x7 : Deep dive Application Performance Monitoring
Fix performance issues with Java, .NET and Ruby platforms.
*** Monitor one app instance at $9 per year***


Java performance tuning related news.


Java performance tuning related tools.

A note from this newsletter's sponsor

New Relic - Try New Relic today and get your free Data Nerd shirt!
Free SaaS APM tool to monitor, troubleshoot, and tune apps
running on Websphere, Weblogic, Tomcat, Jetty, JBoss, Solr, Resin


Jack Shirazi

Back to newsletter 161 contents

Last Updated: 2023-08-28
Copyright © 2000-2023 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