Field Report – Application Performance Management in WebSphere Environments
Just in time for the upcoming Webinar with The BonTon Stores, were we talk about the challenges in operating complex WebSphere environments, we had another set of prospects running their applications on WebSphere. Francis Cordon, a colleague of mine, shares some of the screenshots resulting from these engagements.
In this blog I want to highlight important areas when managing performance in WebSphere environments. This includes WebSphere Health Monitoring, End-to-End Performance Analysis, Performance and Business Impact Analysis as well as WebSphere Memory Analysis and Management. More details will be discussed during the Webinar on May 25th – so check it out if you are interested.
WebSphere Health Monitoring
WebSphere Application Servers provide many different metrics that we need to consider when monitoring server health. This includes system metrics such as Memory and CPU Utilization. It also includes transaction response times and connection pool usage. The following screenshot shows a dashboard that gives a good overview of the general health of a WebSphere Server:
From a very high-level perspective we can look at overall response times but also at response times of individual services. The following illustration shows a dashboard that visualizes response times and whether we have any SLA Violations on any of our monitored service tiers:
The following dashboard provides an extended in-depth view. Not only does it show response times or memory usage – it also shows which layers of the application contribute to the overall performance and provides an additional overview of problematic SQL Statements or Exceptions:
End-To-End Performance View
The Transaction Flow Dashlet visualizes how transactions flow through the WebSphere environment. We can look at all transactions, certain business transactions (e.g.: product searches, check-outs, logins, …) or can pick individual ones from specific users. From this high-level flow we can drill down to explore more technical details to understand where time is spent or where errors happen.
The following screenshot shows how to drill into the details of those transactions that cross through a specific WebSphere Server Node. For every transaction we get to see the full execution trace (PurePath) that contains contextual information such as executed SQL Statements, Exceptions, log messages, executed methods including arguments, …
If we want to focus on database activity we simply drill down into the database details. Database activity is captured from within the Application Server including SQL Statements, Bind Variables and Execution Times. The following 3 illustrations show different ways to analyze database activity executed by our WebSphere transactions.
We can pick an individual database statement to see which transaction made the call and how it impacts the performance of this transaction:
It is not enough to look at the actual transaction and its database statements. We also monitor performance metrics exposed by the database – in this case it’s an Oracle Database Instance. dynaTrace Users can download the Oracle Monitor Plugin from our Community Portal. You can also read the article on How to Monitor Oracle Database Performance.
Business Impact Analysis
As many different end users access applications running on WebSphere it is important to identify problems that impact all users but also problems that just impact individual users. The following illustration shows how Business Transactions allow us to analyze individual users, and from there dig deeper in the root cause of their individual performance problems.
Analyzing Memory Usage and Memory Leaks
Memory Management and Analysis can be hard if you don’t know what to look out for. Read our blogs on Top Memory Leaks in Java, Memory Leak Detection inn Production or the Impact of GC on Performance to make yourself familiar with the topic.
The following screenshots show how to analyze memory usage in WebSphere and how to track potential Memory Leaks by following Object Reference Paths of identified Memory Hotspots:
Thanks again to Francis for sharing his experience with us. Existing dynaTrace customers please check out the content we have on our Community Portal.
For everybody out there I have the final reminder of the upcoming BonTon Webinar. It’s going to take place on May 25th and it’s free to listen in. If you can’t make it you can download the recorded version about a week after the webinar on our Recorded Webinar Resource Page.