Last week I published my winning Customer X-Ray of the Quarter, which showed how AppDynamics was able to help a media customer solve a production issue that had plagued their application for over two years. This week I’m posting the runner-up X-Ray entry. This one describes how AppDynamics was able to help an Insurance customer avoid a production outage by spotting a major bottleneck as their application was migrated from dev to pre-production during performance testing. All of the X-Rays you see published in this blog were written by customers, so the stories you read are real, factual, and credible.
Here we see the customer’s application architecture that consisted of several WebSphere Application Servers, WebSphere Portal Servers, and an Oracle 11g Database. Business transaction throughput is a respectable 1,500 trx/min so just over 2 million a day.
Here we see a description of the application performance problem. One business transaction, “Bind,” was taking over 2 minutes to complete. The initial AppDynamics install time took 30 mins for the whole environment–and that point, it provided the visibility required to allow the customer to find the root cause in just 5 minutes. Without this unique business transaction context and visibility, the customer believed it would have taken at least a day to resolve the performance issue with developers and DBAs investigating manually.
The results are simple. The insurance application was able to process Bind policy business transactions within their service level targets, and a potential slowdown in production was avoided. The customer states that within a few clicks, they obtained get method level and SQL level visibility into how a slow business transaction executes across their environment.
Here we see the business transaction flow for the slow Bind Policy transaction, showing over 2 minutes of time spent in the database.
Here the customer discovers that the findMovementForEntity java method is experiencing several slow JDBC calls (around 15 seconds each). Notice the complete call stack trace, showing all other Java API calls the business transaction makes.
The customer switches to the “SQL Calls” view for the business transaction and immediately sees which individual SQL statements are responsible. In the screenshot, you see 9 SQL calls–which equate to 93% of the response time for the Bind Policy business transaction.
The customer copies this information to clipboard (as shown in the Root Cause section below) and passes this information to the DBA. The DBA then responded by creating three indexes on the premiummovement table and response times for the Bind Policy business transaction returned to their normal observed baseline.
Application Performance Management and solving bottlenecks can be this straight forward with AppDynamics. If you’d like to get started, you can download our free AppDynamics Lite product which takes 2 minutes to install and is limited to a single JVM. Alternatively, you can request a 30 day free trial of AppDynamics Pro, which is our full-feature version that lets you manage application performance across your entire application environment.
Our mission at AppDynamics is to help organizations simplify the way they manage application performance and complexity. Seeing evidence like the above gives us confidence that customers on their own can now master APM, and prevent business impact and outages.