This presentation focuses on the basics of Performance Modelling with the objective of forecasting to manage performance of systems including their underlying infrastructure capacity.
1. Fundamentals of Application Performance Modelling
Practical Performance Analyst – 7th July 2012
http://www.practicalperformanceanalyst.com
2. Agenda
Performance Engineering Life Cycle
What is Proactive Performance Management
What is Application Performance Modelling
Why is Application Performance Modelling Important
Holistic View of Performance
Process for Application Performance Modelling
Techniques for Application Performance Modelling
Challenges involved in Application Performance Modelling
Deliverables for the Application Performance Modelling process
Resources & tools to assist with Application Performance Modelling process
3. Performance Engineering Life Cycle
Software Development Life Cycle
Functional Requirements Gathering
Architecture & Design
Build Application
System Test,
System Integrated Test & UAT
Deploy Into Production
Performance Engineering Life Cycle
Non Functional Requirements Gathering
Design for Performance & Performance Modelling
Unit Performance Test &
Code Optimization
Performance Test
Monitoring & Capacity Management
5. What Is Application Performance Modelling
Performance Modelling is the art of forecasting application performance using a combination of different modelling techniques
Performance Modelling gives you the ability to validate application architecture & designs assumptions from a Non Functional Requirements standpoint
Performance Modelling gives you the ability to perform what-if analysis for different design assumptions and identify a suitable design patterns that meets your Non Functional Requirements
Performance Modelling gives you the ability to validate infrastructure specifications from an Non Functional Requirements standpoint
Performance Modelling should be initially performed at design to validate design specifications. These models should then be refined as you move through build into SVT and then into production where changes in modelling techniques will help you predict application performance with greater accuracy.
Performance Modelling is one of the methods available to you as a Practical Performance Analyst to proactively predict application performance and determine infrastructure capacity impacts before the code actually built or deployed into production
6. Why Is Application Performance Modelling Important
Performance Modelling is important to the Practical Performance Analyst for the following reasons –
Gives you the ability to validate design decision early in the Software Development Life Cycle
Gives you the ability to validate infrastructure capacity assumptions early in the procurement cycle
Gives you the ability to forecast infrastructure capacity impacts for increase in business workload
Give you the ability to work with the customer proactively on procuring additional infrastructure to meet growth in business workload
Gives you the ability to forecast changes in application performance before the application is deployed into production
Gives you the ability to forecast potential performance issues early in the Software Development Life Cycle
Performance Modelling offers a suite of techniques that can be used to proactively predict and manage application performance across the Software Development Life Cycle i.e. From Design, to Build, to SVT, to production
7. 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 Re- ordering, Delay, etc.
Holistic View of Performance
8. Application Performance Modelling Process
Understand Business Objectives & Program Goals
Review Business Requirements Document
Document Non Functional Requirements
Review Application Designs
Review Infrastructure Capacity Designs
Decide on Modelling techniques to be used
Create Performance Models (Analytical or Simulation)
Execute Performance Models for different What-If Scenarios
Validate outcome of Performance Models
Tweak Application Design Assumptions, Infra Design Assumptions & Re- execute Models
Document Learning from What-If Analysis
Provide Recommendations to Application Design & Infrastructure Design teams
9. Techniques for Performance Modelling
Analytical or Mathematical Modelling techniques
Queuing Theory
Queuing Networks
Universal Scalability Law
Operational Theory
Little’s Law
Simulation Modelling techniques
Discrete Event Simulation
Markov’s chains
Petri Nets
Statistical Modelling techniques
Time Series Data Visualization & Analysis
Time Series Forecasting using Exponential Smoothing techniques
Time Series Forecasting using Moving Average techniques
Time Series Forecasting using ARIMA techniques
Simple Regression Modelling
Multiple Regression Modelling
10. Challenges involved in Performance Modelling
Challenges obtaining Non Functional Requirements for the given application
Challenge obtaining resources from the application design and infrastructure design teams to assist with modelling and what-if analysis
Challenges obtaining tools for Performance Modelling (Analytical or Simulation)
Lack of Industry standard tools to analyse, model and visualize data for purposes of Performance Modelling
Challenge convincing people on the usefulness of Performance Modelling techniques
Lack of Capable Resources to assist with data extraction, visualization, analysis & Performance Modelling
11. Deliverables – Performance Modelling
Performance modelling report that –
Validates Non Functional Requirements
Validates Application Designs and its ability to meet overall Non Functional Requirements
Validates Infrastructure Capacity Assumptions and it’s ability to meet overall Non Functional Requirements
Design recommendations to the Application Design teams
Infrastructure recommendations to the Infrastructure Design teams
Recommendations on Performance Testing, Performance Monitoring & Capacity Management
12. Resources & Tools
JMT – Java Modelling Tools (jmt.sourceforge.net)
Queuing Networks
Mean Value Analysis of Queuing Network
Markov’s Chains based Simulation
Simpy (Simpy.sourceforge.net)
Discrete Event Simulation Modelling
R-Project
Time Series Modelling
Regression Modelling
Time Series Forecasting
13. 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