Welcome!

Weblogic Authors: PR.com Newswire, Liz McMillan, Jnan Dash, RealWire News Distribution, Mark O'Neill

Related Topics: Java, SOA & WOA, Weblogic, AJAX & REA

Java: Article

Application Performance & Architectural Problems You Can Find in an Hour

A step-by-step guide

When we get engaged with prospects that are interested in our performance management solution we walk them through a Proof of Concept. We let them install dynaTrace on their own prior to the actual POC. During the POC we ask them to exercise typical use cases on their application that show performance problems. We walk them through the different analysis options and add the findings to a final POC Presentation. In this blog I want to share some screenshots and findings of a typical Proof of Concept recently done in a heterogeneous .NET/Java Environment.

Out-of-the-Box Result Presentation
The screenshots are taken from the final POC Presentation that my colleague Francis pulled together after analyzing a one hour recorded dynaTrace Session with an Out-Of-The-Box dynaTrace Configuration.

1. Get a general performance overview of the application – where are my hotspots?

Different ways to get a high-level performance view of the capture data

Different ways to get a high-level performance view of the capture data

Read more on identifying Hotspots

2. What is going on between my application servers?

Transactional Flow Diagram allows us to drill into more details

Transactional Flow Diagram allows us to drill into more details

Read more on Tracing Distributed Applications

3. Sequence Diagram for individual transactions

Sequence Diagram giving us a high level performance overview of a slow running transaction

Sequence Diagram giving us a high level performance overview of a slow running transaction

The Sequence Diagram can also be used to see how tiers interact, where our bottlenecks are and where exceptions are thrown

The Sequence Diagram can also be used to see how tiers interact, where our bottlenecks are and where exceptions are thrown

More on analyzing architectural problems

4. Analyzing Database Activity

Analyze Database Activity per Transaction. Identify problems where SQL Statements are called multiple times with the same parameters

Analyze Database Activity per Transaction. Identify problems where SQL Statements are called multiple times with the same parameters

Analyzing slow SQL Query on WebLogic:

Several individual DB Queries had an execution time of > 4 seconds

Several individual DB Queries had an execution time of > 4 seconds

Read more database related blog entries.

5. Identifying slow Remoting calls

Identify slow remoting calls including full call context and the ability to trace into the server-side implementation of this call

Identify slow remoting calls including full call context and the ability to trace into the server-side implementation of this call

Read more remoting related blog entriesInspecting asynchronous MessagesdynaTrace can follow asynchronous messages through your SOA infrastructure

6. Analyzing hidden exceptions

dynaTrace captures exceptions including full call stack. Drilling to the actual PurePath (Trace) gives more input on the actual call context

dynaTrace captures exceptions including full call stack. Drilling to the actual PurePath (Trace) gives more input on the actual call context

More exceptions caught on WebLogic:

Many internal exceptions that never made it to the application code indicating XML Format issues

Many internal exceptions that never made it to the application code indicating XML Format issues

7. Runtime Suspension (Garbage Collection) Impact Analysis

Identify the impact of Garbage Collection on response times of individual transactions

Identify the impact of Garbage Collection on response times of individual transactions

Read a blog post on the cost of exceptions

8. Details on Web Service Calls from .NET to Java

Details on Web Service Invocations such as input parameters, transfered bytes or the impact of the GC on the execution time

Details on Web Service Invocations such as input parameters, transferred bytes or the impact of the GC on the execution time

9. Lookup Source Code from your own or foreign code

Found a problematic method? Directly lookup the decompiled Java/.NET Code

Found a problematic method? Directly lookup the decompiled Java/.NET Code

Conclusion
As you can see – it is easy to get an overview of the performance hotspots. The typical problems that we always find are things like too many database statements, hidden exceptions or long-running remoting calls. Read my blog about the Top 10 Server-Side Performance Problems that we often find with our dynaTrace Installations.

Related reading:

  1. Top 10 Client-Side Performance Problems in Web 2.0 Inspired by the Top 10 Performance Problems post which focuses...
  2. Troubleshooting response time problems – why you cannot trust your system metrics // Production Monitoring is about ensuring the stability and health...
  3. Application Performance Monitoring in production – A Step-by-Step Guide – Part 1 // Setting up Application Performance Monitoring is a big task,...
  4. Top 10 Performance Problems taken from Zappos, Monster, Thomson and Co For a recent edition of the Swiss Computerworld Magazine we...
  5. Top 3 Performance Problems in Custom Microsoft CRM Applications After spending a lot of time focusing on Client-Side Web...

 

 

More Stories By Andreas Grabner

Andreas Grabner has more than a decade of experience as an architect and developer in the Java and .NET space. In his current role, Andi works as a Technology Strategist for Compuware and leads the Compuware APM Center of Excellence team. In his role he influences the Compuware APM product strategy and works closely with customers in implementing performance management solutions across the entire application lifecycle. He is a frequent speaker at technology conferences on performance and architecture-related topics, and regularly authors articles offering business and technology advice for Compuware’s About:Performance blog.