Bottleneck Analysis of J2EE Applications using Performance Management Tools
As J2EE applications are distributed in nature, interaction of components across layers is required to fulfill a single request. Also, components that behave well in isolation might have unacceptable performance when working under load. In a complex J2EE Environment which is facing performance issues, identifying the problem layer or component is the most difficult task. Under these scenarios, performance management tools can help in isolating, analyzing and resolving performance issues in complex applications occurring under testing phase
J2EE Performance Management tools make it possible to monitor a J2EE application under load conditions and isolate the bottleneck causing components. These tools have typically the following capabilities:
· These tools have very low overheads and can be deployed on testing and production environments to identify bottlenecks.
· These tools provide mechanism to integrate with Load Testing tools. These tools can monitor applications in a load testing environment and detect performance regressions inside applications invisible to testing tools, and to precisely isolate complex performance issues
· These tools provide layer-wise and request-wise performance metrics. The tools have the capability to track a request across different layers in the J2EE environment and report its performance metric in each layer. For e.g., the tool can capture the time the request spent in the Servlet/JSP layer, the EJB layer and the JDBC layer. This is very useful in narrowing the layer which is causing the performance problem
· Provides the capability to drill down for more precise performance measurements from the layer level to the actual method call level
· Performance issues across all variables are captured by these tools in context of all or selected transactions and correlated with environmental influences such as virtualization, latencies, and configurations
· Provides expert tips on indicating the potential bottlenecks and possible causes for those bottlenecks
Leveraging these performance management tools provides following benefits
· Quick and easy diagnostic of application failures and performance problems in real-time or offline without having to reproduce problem scenarios on their local workstations, in turn freeing up key development resources for building new features.
· Reduce and accelerate required test cycles by eliminating test runs with additional log-options to drill into certain problem allowing more time to be spent on strategic activities.