Welcome!

Web 2.0 Authors: Pat Romanski, Yeshim Deniz, Adine Deford, Jim Kaskade, Elizabeth White

Related Topics: DevOps Journal, Java, SOA & WOA, Virtualization, Web 2.0, Cloud Expo, Apache

DevOps Journal: Article

Using DevOps to Troubleshoot Performance Issues

TroubleShooting with VisualVM

In my  previous article, I had introduced how DevOps can play a role in JVM troubleshooting. In this series, I would like to share a case study that we encountered in our organization and how we isolated the issue before engaging the right team to fix it.

One of our customers upgraded to the latest application release from previous release and noticed a significant performance degradation in the throughput. As a first step, we confirmed the customer claim by reproducing the reported issue in our environment. Having a local reproduction environment opened up opportunities to try out multiple things in narrowing down the issue. After a preliminary analysis, we had concluded the area or component that is contributing to the observed behavior. A workaround to overcome the issue was identified and the same was employing a command-line parameter, which will take a different execution path. The provided recommendation was tested in our local reproduction environment with success and this gave us the confidence that the issue can be overcome with the current recommendation.

On further analysis, we engaged the appropriate tool to determine the percentage of time consumed and captured the snapshots with the latest release and the previous release where issue was not noticed. This level of analysis revealed the exact area where more time was spent. Once these snapshots were shared with the development team, the development team task was much easier as the area of code was already narrowed down for fixing. This way we isolated the issue and helped customer to overcome the problem.

The use-case scenario was that of retrieving data from the CACHE using CouchBase as Caching Solution. However, there were multiple other components present in the stack.

Tool Used: VisualVM

More Stories By ChandraShekar Dattatreya

Chandra Shekara Dattatreya is a DevOps guy working in a Fortune-500 company and has 10+ years' of experience debugging JVM-related issues.In the course of debugging, he has encountered multiple scenarios from various customers and provided solutions to all of them with success. In his current role, he is engaged in identifying and resolving JVM-related issues for an e-commerce company.