2. IBM Rational Software Development Conference 2006
Session: SQ11
Agenda
IBM Performance Optimization Toolkit (IPOT) overview
IT Lifecycle Management
Problem Determination by Example
Simple Performance Test
Resource Monitoring during Performance Testing
Root Cause Analysis using Application Trace data
Demo (30 min)
Online References
Q&As (10 min)
3. IBM Rational Software Development Conference 2006
Session: SQ11
IBM Performance Optimization Toolkit Overview
Who are the IPOT users?
Any developer who wants to identify root cause of
performance problems and accelerate problem determination
occurring in development environment.
Any tester / performance tester who wants to identify root
cause of performance problems and accelerate problem
determination occurring in test environment.
Any support developer who wants to identify root cause of
performance problems and accelerate problem determination
occurring in production environment.
4. IBM Rational Software Development Conference 2006
Session: SQ11
IBM Performance Optimization Toolkit Overview
Why would they use IPOT?
IPOT provides transaction decomposition for application
optimization
Allows the developer/tester to monitor a distributed application in
real-time
Provides a Data Collection Infrastructure (DCI) for real-time
monitoring
Integrates with Rational Software Development Platform
IPOT accelerates problem determination by correlating the
different data collection views (logging, performance and
resource monitoring data) by time.
IPOT allows to import data from production environment and
visualize it for analysis and correlation in the development/test
environments.
5. IBM Rational Software Development Conference 2006
Session: SQ11
IT Lifecycle Management
ITBusiness
Application
Development
Problem
Determination
Development
Team
Deployment2
1
3
Operations
Team
6. IBM Rational Software Development Conference 2006
Session: SQ11
Problem Determination by Example
An example: Plants By WebSphere
Application ServerWeb Server Database Server
Application Server
Data Collection
Infrastructure
IPOT Agent
ITM Agent ITM Agent
Steps to collect resource data
Steps to collect application performance data
ITM Agent
10. IBM Rational Software Development Conference 2006
Session: SQ11
Overlay resource counters with the test results
Resource counters are statistical data that change over time
Data is collected from statistical resource data collecting agents,
such as ITM agents, Windows Performance Monitor, Rstatd
Correlate the resource data with the results to identify the
location where performance degradation might have occurred
Problem determination in real-time
Steps to Problem Determination
18. IBM Rational Software Development Conference 2006
Session: SQ11
Architecture: Statistical Data
Target System
IBM Tivoli Monitoring
Data Warehouse
Management Server
SOAPServer
Presentation System
IPOT
Web Service Client
RPT
Eclipse Platform
ITM Agent
(Linux OS)
ITM Agent
(Windows OS)
ITM Agent
(Unix OS)
ITM Agent
(DB2)
…
Internet
(HTTP/HTTPs)
19. IBM Rational Software Development Conference 2006
Session: SQ11
Root cause analysis using application trace data
Performance metrics measured during tracing helps to drill
down to possible causes of performance degradation
Real-time data collection using the Data Collection
Infrastructure (DCI) for ARM-instrumented applications
Application Response Measurement (ARM) is an open
standard.
Steps to Problem Determination
27. IBM Rational Software Development Conference 2006
Session: SQ11
Architecture: Performance Data
Target SystemPresentation System
IPOT
RPT
Eclipse Platform
Performance Schedule
Performance Test
AgentController
AgentController
HTTP Request
(HTTP Header includes
ARM_CORRELATOR)
Data Collection
Infrastructure
Application Server
Application
IPOT Agent
28. IBM Rational Software Development Conference 2006
Session: SQ11
Analyze applications deployed to a pre-production or
production environment using Tivoli products
Provides a developer a realistic view of the events in a
production environment for root cause analysis
Import performance data from IBM Tivoli Composite
Application Manager (ITCAM) products after the application
has executed
Import statistical data from IBM Tivoli Monitoring (ITM) after the
application has executed
Steps to Problem Determination
29. IBM Rational Software Development Conference 2006
Session: SQ11
Import Performance Data
30. IBM Rational Software Development Conference 2006
Session: SQ11
Import Performance Data
31. IBM Rational Software Development Conference 2006
Session: SQ11
Import Performance Data
32. IBM Rational Software Development Conference 2006
Session: SQ11
Import Performance Data
33. IBM Rational Software Development Conference 2006
Session: SQ11
Import Performance Data
34. IBM Rational Software Development Conference 2006
Session: SQ11
Import Performance Data
36. IBM Rational Software Development Conference 2006
Session: SQ11
Architecture: Import Performance Data
Target System
IBM Tivoli Composite Application
Manager
Data Warehouse
Management Server
WebServices
Presentation System
IPOT
Web Service Client
RPT
Eclipse Platform
Management
Agent
Management
Agent
Management
Agent
Management
Agent
…
Internet
(HTTP/HTTPs)
37. IBM Rational Software Development Conference 2006
Session: SQ11
Import Statistical Data
38. IBM Rational Software Development Conference 2006
Session: SQ11
Import Statistical Data
39. IBM Rational Software Development Conference 2006
Session: SQ11
Import Statistical Data
40. IBM Rational Software Development Conference 2006
Session: SQ11
Import Statistical Data
41. IBM Rational Software Development Conference 2006
Session: SQ11
Import Statistical Data
47. IBM Rational Software Development Conference 2006
Session: SQ11
Eric Labadie
Ashish Patel
http://www-128.ibm.com/developerworks/rational/library/05/523_perf/
Thank You
Notas do Editor
Please note that if you simply apply this template to your existing presentation, you risk not updating the notes and handouts masters of your presentation. Please follow the steps below to copy your existing slides into the new template.
1. Download the new template to your hardrive
2. Open existing presentation that needs to be updated with the new template
3. Go to slide sorter view from the "View" menu
4. Press <Control> "A" to select all slides in this view
5. Press <Control> "C" to copy all slides in this view
6. Select "Open" from the File menu and open the new template
7. Go to slide sorter view from the "View" menu
8. Press <Control> "V" to paste the slides
9. Select slides 1 and 2 which are no longer needed in your presentation and press <Control> "X" to cut
10. Select “Save As” from the File menu and rename the file
Reformatting Issues:
Replace Fonts (especially Times New Roman)
Due to a PowerPoint limitation, it’s advisable to run the “replace fonts” option after applying the template
Select Format/Replace Fonts and select desired font to be changed (Times New Roman and Arial are commonly seen here to be replaced with Arial Narrow)
Correct Colors - graphic objects and text created not using the auto layout features may not automatically convert. Some reformatting may be necessary.
If slide background colors are incorrect, reset slide background color to autocolor
If graphics are colored incorrectly, use the colors that are built-in to the template already as these are pre-approved colors
Slide Layouts
It may be necessary to reapply slide layouts to problem slides. To do this, from the View menu, make sure “Task Pane” is selected. Select “Slide Layout” from the Task Pane and select the desired layout to reapply. Sometimes this action needs to be applied twice in order for layout to readjust.
i/t has to be ondemand just as much as the business has to be ondemand w/ their clients => IBM has to respond to that
- Optimize application before deploying to prevent problems before it happens in the first place
Reduce business downtimewhile accelerating business value throughput…
Quickly discover and understand application-level errors even after deployment
Speed Tivoli-aware application fix and (re)build
Optimize and accelerate (re)deployment
…by bridging developmentand operations teams
Example: Trying to run a test to identify if performance problems exist in a multi-user environment.
Diagram: Can be distributed on separate machines.
Workbench
collect performance and resource monitoring data
import data from historical systems
Data Collection Infrastructure (DCI)
Data Collection Agent
IBM Tivoli Data Collection
IBM Remote Agent Controller
IPOT Agent is reported the ARM Events. ARM Events are collected and organized into a transactional hierarchy, from the root transaction to all of its sub-transactions. This hierarchy is then converted into TPTP Trace events and sent to the Presentation System.
Need DCI installed on the Presentation System if trying to Profile J2EE Performance Metrics while executing a Performance Schedule or Test.
Resource Monitoring
We provide data collection (via the RAC) from Windows/Linux machine, JBoss/JOnas
IPOT adds value by having the ITM infrastructure in place because they support a wide array of ITM agents
Here is what you can do today with RPT….
Today there is a need to look into a specific page and how it’s page elements compare. Viewing performance and statistical data for a particular page helps to isolate the exact location of the problem.
Steps to determine the cause of the problem:
Overlay resource counters with the test results.
- Resource counters are statistical data that change over time
- Data is collected from statistical resource data collecting agents, such as ITM agents
Correlate the resource data with the results to identify the location where performance degradation might have occurred.
- Analysis method can be used by overlaying the resource counters selected for real-time data collection during the execution of the test/schedule
Now, let’s try to monitor resource counters across multiple systems to understand the SUT behavior.
We can import and monitor resource monitoring data from multiple sources…
In this example, we will be monitoring counters which are monitored by ITM (IBM Tivoli Monitoring).
By clicking the Run button we start monitoring the selected counters…
As the test got executed, we now see the RPT performance report and the resource monitoring counters.
Part of the RPT reports we have Response vs Time reports
The user can drag and drop counters on top of the existing reports to customize them.
Other useful counters to analyze, other than processor time, are memory usage, disk activity, network activity.
The combination of these counters will help to better understand if there is a lack of resources or if there actually is an application-related problem.
This is the oversall architecture for pulling resource monitoring data from ITM
Steps to determine the cause of the problem:
using performance data
Collect performance data using the DCI
Performance data allows the tester and developer to peer into the behaviour of the application or service at a programmatic level (ie. The method level)
This approach provides solid evidence of where the potential problem is located and increases efficiency in problem determination between the tester and developer, thereby, effectively reducing the time to identify and diagnose performance problems.
Real-time data collection using the Data Collection Infrastructure (DCI) for ARM-instrumented applications
Application Response Measurement (ARM) is an open standard from OpenGroup
Now that we know we have a performance problem with the test case, let’s enable ARM monitoring for the transaction decomposition performance…
…and enable it as well in the performance schedule.
And now launch the test schedule in transaction monitoring mode.
Now, the user gets the UML sequence diagram which shows the transaction decomposition associated with the test cases inside the test schedule.
End to end transaction UML view with a performance problem for the problematic transaction. On the scale on the right, the user can see the different shades of red beside each method calls. The darker red on the scale, the more time is spent in this location in the problematic transaction. The user can then jump to the source code from this view.
The user can the switch to the Method details views to view as well the time spent in the descendant methods called from this transaction. The user can then jump to the source code from this view.
As well, we provide method statistics views showing to the user how many times a methods was called and what is the average time spent in this method. The user can then jump to the source code from this view.
Finally, the user can go to source code from the previous views to identify performance problem
Workbench
collect performance and resource monitoring data
import data from historical systems
Data Collection Infrastructure (DCI)
Data Collection Agent
IBM Tivoli Data Collection
IBM Remote Agent Controller
Workflow:
The RPT client is the edge of the transaction (where ARM transactions are first generated). Therefore, all page are transacted from the presentation system, which behaves similar to a browser, by placing HTTP requests for all page elements (belonging to their respective pages).
For all HTTP Requests, RPT adds the ARM_CORRELATOR header attribute to the request.
Multiple RPT clients can generate the same load for the same transactions and they will be collected by the ARM engine independently.
Anything downstream from the RPT client (for example a webserver or J2EE appserver) must be instrumented with J2EE Monitoring Component (or Tivoli Data Collection, which consists of probes or hooks) that knows how to detect the ARM_CORRELATOR header attribute and then make the appropriate ARM calls to the ARM engine. Once the probe makes the ARM call, the transactions are all treated the same by the ARM engine.
In order to see “into” the application (at the method level) when the RPT test/schedule is executed, the Execution Environments involved muse be instrumented, just the same as one would do with TMTP or the IPOT DCI, so that the RPT HTTP Requests can be correlated with the AppServer’s behavious.
Caspian: Architecture will change so that IPOT is not dependent on RPT, however, RPT becomes dependent on IPOT. Allowing other products to leverage the toolkit.
IPOT Agent is reported the ARM Events. ARM Events are collected and organized into a transactional hierarchy, from the root transaction to all of its sub-transactions. This hierarchy is then converted into TPTP Trace events and sent to the Presentation System.
Need DCI installed on the Presentation System if trying to Profile J2EE Performance Metrics while executing a Performance Schedule or Test.
Steps to determine the cause of the problem:
using performance data
Collect performance data using the DCI
Performance data allows the tester and developer to peer into the behaviour of the application or service at a programmatic level (ie. The method level)
This approach provides solid evidence of where the potential problem is located and increases efficiency in problem determination between the tester and developer, thereby, effectively reducing the time to identify and diagnose performance problems.
Real-time data collection using the Data Collection Infrastructure (DCI) for ARM-instrumented applications
Application Response Measurement (ARM) is an open standard from OpenGroup
In a large scale environment, we use TMTP, TCAMfWebsphere and TCAMfRTT to monitor the transactions. Now, let’s import data from these Tivoli products and analyze it in the RPT workbench.
The user needs to specify the user id and password to pull the data from the Tivoli Management Server.
And then specify when the failure occurred on the system.
Then the user picks up the TCAM/TMTP policy which triggered the error.
Then, the user select the server where the transaction was initiated from.
Then the user picks up the transaction instance that violated the policy.
The user can now investigate the transaction performance problem inside the RPT tooling.
End to end transaction UML view with a performance problem for the problematic transaction. On the scale on the right, the user can see the different shades of red beside each method calls. The darker red on the scale, the more time is spent in this location in the problematic transaction. The user can then jump to the source code from this view.
This is the architecture overview for pulling the data from the TCAM products.
The user may also import historical resource monitoring data from ITM.
The user specifies the userid and password to access ITM server.
The user then specifies the time range for the data to import.
The user then picks up the machines…
and resource counters to import data for.
Then the user can look at the imported data inside the RPT workbench.
Here is the list of IBM products that IPOT can pull data from…