Thursday, September 12, 2013

Java Performance Tuning and Monitoring Tool - Java Performance Analyzer:...

At Discovered Byte, Inc. we see our mission in helping Java developers to create superior quality and performance code. To accomplish this, we reengineered a set of offline tools and brought them online in the form of SaaS. Now, anyone regardless whether they are part of large Java development houses, System Integrator companies, consulting establishments, or working solo can have access to the much needed functionality 24×7.









At Discovered Byte, we think of the Performance Improvement of the Java-based applications as the tree-step process: Identification of the ‘Problematic Areas’ and Monitoring of the Scenario Execution, Analysis of the Collected Data, and Remediation of the problems. Depending on the results you are trying to achieve, you could perform the cycle once, or repeat the steps over and over, improving performance every time. Note that the problems could be fixed either by changes in the architecture of the application, modifications in the code or escalation to the Vendor Support, should the issue be found in the third-party code.
First, find the parts of the application that require improvement, whether they’ve been discovered during the development cycle, functional testing or reported by the application users in production.
Second, create an account on our website, install our monitoring tool onto the application server running the application, configure it to collect Performance-related Data, and play the ‘Problematic Scenarios’.
Third, upload collected data into the new case and let us analyze the information. Yes, it’s that easy! After the uploaded information is analyzed, you will be presented with the variety of the online reports that let you drill down to the level of the interest, or you can export online reports into multiple formats for offline analysis.
We realize that every case is unique, and the goals vary. You might want to get high-level view into the underperforming areas of the application, or tune the application architecture and implementation to the fullest. That’s why we can perform analysis with multiple degrees of precision: Basic (elapsed duration of the functions of 5 milliseconds or more), Advanced (3 milliseconds or more) and Premium (1millisecond or more). Note that increasing accuracy of the monitoring generates exponentially more data and increases the cost. The same is true for multi-server environments, where analysis of each server’s data is a separate case. More detailed information on the techniques and strategies of collecting information and generating the reports will become available after you login into your account.
After the data is analyzed, you will be presented with multiple dashboards that let you look at the issue from different perspectives. If you are not sure where to start, you might want to take a look at the Summary, listing the most glaring problems:
If the server performance is a variable that doesn’t let you sleep at night, you should start with the server dashboard to see whether the server is maxing out on CPU or memory at certain points during the execution:
As an alternative, you can take a look at the application from the user’s perspective and see with your own eyes how quick the application loads into their browsers:
Last but not least, if you suspect database related issues you can dive into the SQL monitoring dashboard, and see the queries being executed along with the time they took.
If we sparked curiosity, but you are not quite ready to create your own account, take the first step and use demo credentials to explore our online Performance Analysis Tool. Good luck with your journey!