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 October 30th, 2002

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

What Windows vs Unix teaches us about Web service contruction

I started out in a Unix environment. For sure it took a while to get used to the tools and utilities, and understand what I was doing. But by the time I started touching PCs, I was comfortable in Unix. MS-DOS seemed brain dead in comparison. Windows has always been like a straight-jacket. In Unix I can fly my own plane anywhere; in Windows I can get on at stop A and get off at stop B, but if I want to go anywhere else I need to build an aeroplane to do it.

My brother-in-law started in MS-DOS. Windows, every version, was sooo much better. More and more things that you could do. He's had to work in Unix environments every now and then, and always moans "why do they have to make it so complicated?". He's right of course. I'm still more comfortable in Unix, and if I need to tweak a system to do things just right, then Unix is way way better for me. But Windows is much more user-friendly. For 90% of what most computer users want to do, Windows is easier to operate. (Hence the emphasis on nice Linux front-ends).

What is this little ramble about? Well I was reading Paul Prescod's rant about keeping web services simple, and came across this line:

it's debatable whether scalable, robust, fault-tolerant Web service construction can be made as easy as clicking buttons on a dialog box.

He was talking about Visual Studio.NET generating web services, but the issue is wider. It's been my experience that performance and scalability lie in the region where you cannot provide a simple interface that will optimize the system. Whether talking about Web Services, JVMs, or Windows/Unix, you need to be able to get under the surface, see what's happening, tweak things that the system designers didn't think about, and generally play process-God if you want to get the maximum out of the system. Prescod goes on to say

Networked applications must intrinsically deal with many issues that don't affect local programs: latency, race conditions, topology changes, network outages, obsolete client and server software, denial of service attacks, and so forth. The dialog boxes don't offer any strategies to deal with these problems. When today's Web services are deployed in the real world, I expect we'll find that ignoring these issues will have serious consequences for the reliability of our services.

I suspect we are going to see a lot of non-scalable web services for a long time.

Diary of a Hutt

September 18. It's always so difficult to throw yourself back into work after a long relaxing holiday. So many meetings, smail piled up, cluttered up inbox, etc. I believe it will take the whole week before I'm even close to be able to pick up where I left off. Weevil didn't seem happy to hear how much has piled up for me. For some reason, he seems to be desperate to hand off my project back to me. Actually I sneaked a look. He's way behind schedule, and I'm enjoying see him stew. HasntGotAClue fully understands my backed-up workload, and is comfortable with Weevil carrying on this week. I've scheduled a progress report from Weevil for tomorrow. Made sure HasntGotAClue was free, sent the memo to Weevil, then added HasntGotAClue to the attendee list.

September 19. Weevil was taken sick, just after HasntGotAClue joined the meeting. Shame really. Weevil had just started berating me for the ridiculous time schedule I'd set up for the project, and was just reaching full-bodied language. Then HasntGotAClue came into the room, and I was just telling him how he hadn't missed anything and that Weevil was just about to start his report. Weevil seemed to turn red then white, and all but collapsed. Said he couldn't breathe properly. Poor guy. Overworked if you ask me.

September 25. Well Weevil and I have agreed that the schedule was a little too optimistic. Actually he was desperate to agree anything as long as I would take the project off his hands. So our joint recommendation to HasntGotAClue is that the project implementaion time should be tripled. Weevil also agreed to state essentially that most of his work needed to be written-off. Incomplete due to timing pressures. Actually I can use a good proportion of it, but I couldn't miss the opportunity to put the screw in. HasntGotAClue wasn't too happy, but it is not a unique situation having to convert a project to a "prototype" because the requirements were incorrectly assessed. He demoted Weevil though. Decided that I needed an alternative liaison while Weevil went for some training to get him "up to spec". If I was Weevil, I'd be polishing up that CV again. How many departments can he be under spec for?

October 2. So now, I've got essentially to the end of the year to implement my performance management integration with QA. With Weevil's stuff it shouldn't take more than a month maximum. I think I'll be coming in a little ahead of schedule. Not too much, of course, I don't want my projections to be off, just ahead enough to look good. Always start performance tuning by giving your own performance a little tuning. I think I'll make that my motto! And I've done the classic tune: set expectations correctly and you can always beat them.


Javva The Hutt.

Back to newsletter 023 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