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

Javva The Hutt April 2004

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 041 contents | All Javva's articles

Diary of a Hutt

January 28. Man Vs. Machine. My guile and subtlety against the slavish evil unquestioning obedience that carries out every instruction given, regardless of the consequences. Yes, once again, I'm rolling my sleeves up for some performance tuning. I have been given access to one of our partner's testbed machines to run performance tests on their application. The machine has the ominous sounding name of "bob". I have, of course, immediately renamed it to something more in keeping with it's character: "Beelzebub". My first encounter gave me a flavor of what was to come. I introduced myself with a friendly "Hello Beelzebub". The response: a draconian "Hello not found". Clearly we were not going to be friends.

Next step, I tested my load test scripts, and added server-side monitoring. He squirmed, tried every trick in the book to get my tests to crash. One configuration parameter after another, one script adjustment after the next, one xml file change followed by yet another xml file change, slowly I ground down Beelzebub's resistance to my herculean effort. Until finally, chained and forced to obey, I had exerted full control over this mindless evil. Now, my daily "Hello Beelzebub" was welcomed with an obedient "Welcome Master" response.

But, of course, this was just the first of the battles to come, the war was not yet won. Beelzebub was only masquerading as obedient. In fact, he had moved resistance up one level to the application. Now, operating system and application were working in league against my efforts to tame them and, if anything, my task had become even harder. Memory bottlenecks pretended to be CPU bottlenecks. Network bottlenecks pretended to be contention problems. Contention bottlenecks hid themselves as if the world's greatest assassin was stalking them. Inefficient configurations faked themselves as I/O bottlenecks. Garbage collection fluttered through apparent improvements, only for me to discover long term memory management issues that were concealed, lying in wait to ambush me. Test followed test, as I battled with one bottleneck after another. Analysis followed analysis as Beelzebub did his best to conceal the critical information amongst the reams of data being generated. Slowly, with a configuration change here, a code change there, I started to make headway. Once elusive targets began to come into focus, starting to look attainable. Once again, Man was gaining ascendancy over Machine. To paraphrase Neil Armstrong, "One small step for a man, one machine's resistance squashed like a bug". Well, okay that was less a paraphrase and more a complete mangle. But you get the drift.

It's pretty clear to me that all those years of A.I. research has been fruitful. We now have sentient operating systems. Stupid, cruel, but sentient. How else is it possible for them to know just when to crash at the most annoying time? Why is it that you make changes to the system and, when your attention is on other things, those changes slowly seem to creep back to the original setup? Not that I want to make this personal. But "Ha ha, Beelzebub you lose".


Javva The Hutt.

Back to newsletter 041 contents

Last Updated: 2023-09-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