Recently one of my projects (Java-based) faced slow response issue. Now this site has been functional for almost 3-4 years now, & this is the first time we came across such issue.
Guess, we kept rolling feature after feature & user base kept growing. Alas! It had to take it’s tool sometime. Now, time you roll up sleeves & get your hands dirty…in code.
Now this post is not where I am going to share wealth of knowledge- a little ‘Googling’ will find you many articles on Java performance tuning. I will do that, but once we fix every last bit of bottleneck.
I came across real nice & easy tool - eoSense that offers you tool to analysis your code. In simpler terms, it’s class of software called “Profiler”. These tools would make use of JVMPI (Java Virtual Machine Profiler API) to analsye your program runtime & give you idea of what could be source of problems- like memory leaks, CPU hogging, a thousand object created, etc.
eoSense Profiler’s value proposition is that it will show what is problem & line by line source of issue- so it can point you well, database connection is not released or a loop creates excessive objects, or may be hey you still hold references to dead objects. I hope you will get more, when you watch their online demo.
Backdrop- the tool only runs on Websphere 6.0 & BEA WebLogic versions 6.1, 8.1, 9.1, 9.2 and 10.0. As per my discussion with eoSense’s sales representative, version for Websphere 5.0 is still under works.