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|

Our valued sponsors who help make this site possible
New Relic: Try free w/ production profiling and get a free shirt! 

Site24x7: Java Method-Level Tracing into Transactions @ $12/Month/JVM. Sign Up! 

Javva The Hutt October 2008

jKool for DevOps
Light up your Apps & get a cool t-shirt

JProfiler
Get rid of your performance problems and memory leaks!


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:


New Relic
New Relic: Try free w/ production profiling and get a free shirt!

Site24x7
Site24x7: Java Method-Level Tracing into Transactions @ $12/Month/JVM. Sign Up!


jKool for DevOps
Light up your Apps & get a cool t-shirt

JProfiler
Get rid of your performance problems and memory leaks!


Back to newsletter 095 contents | All Javva's articles

The Release Manager

Anomalous CPU spikes during the release, occurring intermittently. Can I find the problem before I have to pull the release? Ugh, I work feverishly, looking for the issue, but progress is so slow. But let me step back and explain how I got here.

As the performance and troubleshooting team, my team are involved in supporting the release process. We cover each release, and need to identify any significant changes in performance, as well as troubleshoot low level problems that crop up. Of course, we aim to have everything performance tested prior to deployment, but things slip through. So we keep an eye on each release, looking for unexpected changes.

So far, so simple. Nothing unusual in all that. My first release here, and I decided that I'd see the release through myself, a baptism of fire. Not that I was really expecting anything to happen, I'd been told the last couple of releases had gone very smoothly. Twenty minutes into the release, the release manager calls me over. "We're getting an odd spiking behavior on the server2 CPU" he said, and showed me a graph of the server2 CPU. Sure enough, every few minutes it spikes up to 100% for a bit, then cuts back to the underlying level of about 25%.

So I went off to do some analysis. It was an irregular spike. And of course while I was watching the system, nothing happened. Isn't that always the way? But when I went off for a coffee, bang! And a little later, after going over to ask the support team if they had seen this before, bang, again while I wasn't watching!

Of course, every performance guy (and gal) has a box of tricks ready. Systems are sneaky, anyone who tells you they are dumb boxes that just do what they have been instructed to do, is a year short on experience. So you need your box of tricks to be able to sneak up on them and catch them doing the naughty. And I can be just as sneaky as the box. I opened my box of tricks and set it to record any elusive spikes, and went off for a sandwich.

And when I came back, there had been two spikes. And they had lasted easily long enough for me to see that there was a process causing them: "java xxx.yyy.release.ReleaseSupport5" was the process.

"Phew", thought I, "just some release mechanism that has been altered, nothing that will need the release stopped or rolled back". With less pressure, I figured I might as well have a look at the class and see what had changed before I went back to the release manager to tell him what the issue was.

There was just one change in that class since the last release. And it was only a comment. It said "//welcome to the shop, Javva. Let's see how good you are". Apparently our releases are not quite interesting enough for our release manager. He has a little streak of the joker in him. Yes, all ReleaseSupport5 did was some nasty little calculations in parallel that would consume CPU - all the CPUs - for a little while and then die.

And so passed my first release. The support team were unsurprised, being in on the joke and aware - and appreciative - of the Release Manager's propensity for practical jokes. And now I was too.

BCNU - Javva The Hutt.


Back to newsletter 095 contents


Last Updated: 2017-03-29
Copyright © 2000-2017 Fasterj.com. All Rights Reserved.
All trademarks and registered trademarks appearing on JavaPerformanceTuning.com are the property of their respective owners.
Java is a trademark or registered trademark of Oracle Corporation in the United States and other countries. JavaPerformanceTuning.com is not connected to Oracle Corporation and is not sponsored by Oracle Corporation.
URL: http://www.JavaPerformanceTuning.com/news/javvathehutt095.shtml
RSS Feed: http://www.JavaPerformanceTuning.com/newsletters.rss
Trouble with this page? Please contact us