Issuu on Google+

Fundamentals of Application Performance Monitoring Practical Performance Analyst – 21st July 2012 http://www.practicalperformanceanalyst.com


Agenda 

Performance Engineering Life Cycle

What is Proactive Performance Management

Holistic View of Performance

What is Performance Monitoring

Why is Performance Monitoring Important

What is Application Performance Management

Performance Monitoring Process

Challenges involved in Performance Monitoring

Deliverables for the Performance Monitoring process

Resources & tools for Performance Monitoring


Performance Engineering Life Cycle Software Development Life Cycle

Performance Engineering Life Cycle

Functional Requirements Gathering

Non Functional Requirements Gathering

Architecture & Design

Build Application

System Test, System Integrated Test & UAT

Deploy Into Production

Design for Performance & Performance Modelling

Unit Performance Test & Code Optimization

Performance Test

Monitoring & Capacity Management


Proactive Performance Management 

Proactive Performance Management helps by –

Identifying performance issues early in the design

Validate suitability of your application architecture for your documented NFR’s

Validate your application capacity requirements for the documented NFR’s

Advocates early SVT to identify potential bottlenecks early in the build and development cycle

Reduces potential for major rework later in the program

Advocates using modelling techniques to predict performance impact for growing workload

Performance Requirements Analysis

Capacity Management

Performance Modelling & Capacity Planning

Performance Monitoring

Build & Optimization

Performance Testing


Holistic View of Performance

Txn Performance - Response Times, etc.

Application Performance – Operations/Sec, Messages/Sec, Transactions/Sec, etc.

Infrastructure Performance – CPU Utilization, Memory Utilization, Disk IOPS, etc.

Network Performance – Packet Loss, Jitter, Packet Reordering, Delay, etc.


What Is Performance Monitoring 

Monitoring can be defined as a set of processes whose objectives is to proactively track various relevant metrics so as to prevent breach of agreed Service Level Agreements

Monitoring is generally achieved using a combination of process, tools and people capability (Required to efficiently deliver the monitoring service)

Monitoring can be looked at from different perspectives: 

Infrastructure Monitoring

Application Monitoring

Application Diagnostics

Business Transaction Monitoring  End User Monitoring  Real User Monitoring

Monitoring requires the capture and correlation of relevant performance metrics across the different application, infrastructure and network tiers

Like everything else in Performance Engineering, an effective monitoring strategy requires a combination of tools, processes and people capability


Why Is Performance Monitoring Important 

Performance Monitoring is important for the following reasons –

If you don’t measure performance you can’t manage it and if you don’t manage it you probably don’t care

Monitoring is essential to help you capture relevant performance metrics across the various different tiers which then helps you track your SLA’s

Monitoring of relevant performance metrics across the various tiers (application, infrastructure, network) helps you correlate performance issues across the various tiers and identify performance bottlenecks

Monitoring helps you measure your applications ability to meet your defined Non Functional Requirements

Monitoring helps capture relevant business workload metrics & infrastructure workload metrics for purposes of Performance Modelling & Capacity Management

Monitoring generates performance metrics which can then be used for root cause analysis when things go pear shaped in production


What is Application Performance Management


Performance Monitoring Process Understand Business Objectives & Program Goals

Configure and store Performance metrics data in a CMDB

Configure Single Pane of Glass View to provide Real Time View of Performance across Tiers

Understand Non Functional Requirements

Identify relevant Transactional Performance Metrics

Collect & store relevant metrics for purposes of Modelling & Capacity Management

Understand the Application Stack

Identify relevant Application Performance Metrics

Analyse monitoring data in real time & correlate performance across different tiers

Identify relevant Monitoring tools for Infrastructure, Network, Application & Transaction monitoring

Identify relevant Infrastructure & Network Performance Metrics

Report Application Performance in terms of Business Metrics & IT Metrics


Challenges involved in Performance Monitoring 

Glut of tools combined with numerous vendor buzz words that ends up confusing customers

Lack of mature processes within the enterprise to measure, track and manage performance

Lack of understanding of relevant performance metrics to measure, track and manage performance

Challenge convincing the application teams on the importance of measuring and tracking Business Workload

Challenges capturing relevant infrastructure performance metrics for virtualized applications

Challenges capturing Business Workload data from production since applications are rarely designed to log Business Workload metrics

Providing a single pain of glass by correlating performance metrics across different tools (network, infrastructure, application) and application tiers

Finding tools that can help you track application performance from the client browser down to the database server


Deliverables – Performance Monitoring 

Performance Monitoring Approach that defines -

Infrastructure Performance Metrics

Metrics for Business Workload

Application Performance Metrics

Transactional Performance Metrics

Tools required for monitoring relevant performance metrics across different application tiers

Integration between existing tools to provide a Single Pane of Glass view

Frequency of data collection for Performance Modelling & Capacity Management


Resources & Tools 

BMC - http://www.bmc.com/products/product-listing/ProactiveNet-Performance-Management.html

Compuware - http://www.compuware.com/application-performance-management/

Computer Associates - http://www.ca.com/us/application-performance-management.aspx

Hewlett Packard - http://www8.hp.com/us/en/software-solutions/software.html?compURI=1170734

Nimsoft - http://www.nimsoft.com/

Nagios (Lacks business transaction monitoring) - http://www.nagios.org

OpTier - http://www.optier.com/

Opnet - http://www.opnet.com/

Quest Foglight - http://www.quest.com/foglight/

Zabbix (Lacks business transaction monitoring) - http://www.zabbix.com

Zenoss (Lacks business transaction monitoring) - htttp://www.zenoss.com


Thank You Please support us by taking a moment and sharing this content using the Social Media Links at Practical Performance Analyst

trevor@practicalperformanceanalyst.com


Introduction to Application Performance Monitoring