Overview Identifying and correcting availability and performance problems can be costly, time consuming and risky. IT organizations spend more time identifying an owner than resolving the problem. HP Diagnostics helps to improve application availability and performance in pre-production and production environments. HP’s diagnostics software is used to drill down from the end user into application components and cross platform service calls to resolve the toughest problems. This includes slow services, methods, SQL, out of memory errors, threading problems and more.
How HP Diagnostics software works During a performance test, HP Diagnostics software traces J2EE, .NET, ERP, and CRM business processes from the client side across all tiers of the infrastructure. The modules then break down eachtransactionresponse time into time spent in the various tiers and within individual components.
•Easy to use view of how individual tiers, components, memory, and SQL statements impact Overall performance of a business process under load conditions. During or after a load test, you can inform the application team that the application is not scaling and provide actionable data to them.
• The ability to triage and find problems effectively with business context, which enables to focus onproblems impacting business processes Why? The Benefits Diagnostics falls into the middle ground between Quality Assurance and Operations Performance Validation. For developers, having Diagnostics means that tracing code doesn’t have to be added and removed. This is a big side effect of why diagnostics can improve performance. Diagnostics is the science of pinpointing the root cause of a problem. Load Runner is the first load testing tool to provide a set of Diagnostics modules that trace, time, and troubleshoot end-user transactions acrossALL tiers of the system. These modules extend LoadRunner to provide a unified view of both end-user experience and application component (method, SQL) level performance. The intuitive visual interface allows the user to drill down from a problematic business process all the way to the poorly performing component. This granularity of results ensures that every load test provides development with actionable results, thus reducing the cost and time required to optimize J2EE/.NET applications. Diagnostics can be integrated with HP Business Availability Center software, HP LoadRunner, and HP Performance Center As the response times alone will not suffice the report, more people(client ,developer etc) are interested to know the key features why the bottlenecks .As a part of performance engineering identifying the root cause as where the bottleneck is and why is it caused.
Any application framework we test has numerous lines of code.it is difficult for a developer to identify why the application response in more on load if we just produce them with response times,if team has to fix them ,they will be in a doubt as which part of the code and methods are causing the increased response time.
Supported platforms • WebSphere, WebLogic, Oracle 10g, SAP Web Application Server, JBoss, Tomcat, Sun ONE, ATG,Borland ES, FUJITSU Interstage, Tmax Soft JEUS, .NET 1.1 to 3.5 • WebSphere Portal Server, WebLogic Portal Server,SAP Enterprise Portal, Oracle 12i applications
Consider a J2EE/.net framework As of the probes are installed on each layer like web,application layer, database layer the metrics are collected by diagnostics tool illustrating the behavior of the layers when a request is sent.. Key concern when it comes to metrics: 1.J2EE/.NET Framework –Average Method response time 2. J2EE/.NET Framework-Server requests response 2. J2EE/.NET Framework-server method calls persecond
When it comes in direct invoking of the diagnostics we have the following metrics 1. Average memory used 2. Average CPU used 3. JVM heap memory used 4. Connection pool, Thread pool 5. Collection leaks 6. EJB Methods /time 7. Server requests/time 8. Worst transaction 9. Worst SQL Queries 10. Network latency 11. Server request -exceptions
The report which we consolidate will speak clearly as where the Developer-Which method or part of code should he fix?(methods and calls) DBA-Which query should be tuned (any indexes are used for the query) Integration team-Any increase in servers and CPU are necessary for scalability.
Key Functions of Diagnostics: Various Metrics (such as JVM heap size, garbage collection frequency, method invocation counts, etc.) are grabbed by Probes which pass metric data out to the Profiler web service (installed with and runs on the same server with the probe) to produce web pages in HTML or XML or format which can be parsed dynamically by Scripts running withing load runner programmed to store diagnostics values as user-defined values along with metrics maintained by LoadRunner (such as the number of vusers running concurrently). HP(Mercury) Tuning Console product which tracks the impact of server configuration changes on metrics
When many app servers are involved add in (Diagnostic)to LoadRunner displays metrics files obtained from the Diagnostic Server, also called the Commander, which stores data from the Collector and Mediator which filter and aggregate data obtained from probes on app servers. Probe Profiler Tabs Below is the sample of the probe metric page and listen below are the few metrics.
Summary Memory Load Shortest Requests Hotspots Slowest Methods CPU Hotspots (Methods) Slowest SQL Metrics System (Host) CPU, Memory Usage, PageInsPerSec, PageOutsPerSec, PageCutsPerSec, Disk, Network JVM: Probe: HeapFree, HeapTotal, HeapUsed Java Platform: Classes, GC, Threads Mercury System Web logic: EJB, Execute Queues, JDBC, etc.
The final summary is that report plays a major role in making the performance of the application as desired by the User (Fast and scalable).Response times can be brought down by fixing these issues. Hence forth diagnostics is the heart and soul for the Performance engineering Practice.