Application Performance in Heterogeneous Multi-Server Clustered Environments
As discussed, today’s mission critical applications run in heterogeneous multi-server environments. Figure 1 details an example application’s typical transaction flow, which starts at the users Web browser, traverses the Java SE/EE servers for authentication and Web page rendering, executes business logic in the .NET servers, accesses mainframe databases and integrates external systems through Web services.

A transaction can suffer performance problem anywhere in its execution path.
The arrows along the red lines indicate the transaction’s high level execution path.
The detailed execution path enumerates the processing steps (method calls, servlet invocation, etc.) and their context through various components in sequence of the transaction’s execution.
Various performance problems can occur during this execution. These problems can lead to a variety of symptoms, some during the transaction’s execution and some well after.