This article focuses on the basics of Workload Modelling from an SPE (Systems Performance Engineering) Standpoint across the delivery cycle. It touches upon the definitions, processes including activities involved.
1. Fundamentals of Workload Modelling
Practical Performance Analyst – 14th July 2012
http://www.practicalperformanceanalyst.com
2. Agenda
Performance Engineering Life Cycle
What is Proactive Performance Management
Holistic View of Performance
What is Workload Modelling
Why is Workload Modelling Important
Process for Workload Modelling
Questions to ask during Workload Modelling
Examples of Workload – Business & Infrastructure
Challenges involved in Workload Modelling
Deliverables for the Workload Modelling Process
Resources & tools to assist with Workload 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. 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
6. What Is Workload Modelling
Let’s define Workload before we get into the concepts of Workload Modelling.
Workload in essence is the work that gets done by the application which goes towards consuming system resources
Workload can also be defined as the work that needs to be performed by the systems for the applications to process the incoming user requests
Workload can be of two main types – Infrastructure workload & Business Workload
Business Workload – Work done by the applications in processing the incoming user requests
Infrastructure Workload – System resources consumed by the application for processing the incoming user requests
Workload is an essential part of Performance. Workload is the “What” part of Performance Engineering. Workload modelling is required to understand the key players on the system that are responsible for consuming system resources and generating demand.
Workload Modelling can thus be defined as the process of determining relevant ports of Business Workload & Infrastructure Workload that are important to the Performance Engineering processes you are undertaking
Workload Modelling techniques can slightly vary based on the Performance Engineering activity you intend to use the Workload Models for (Performance Testing, Performance Monitoring or Capacity Management)
7. Why Is Workload Modelling Important
Workload Modelling is important to the Practical Performance Analyst for the following reasons –
Identifying relevant Business Workload Drivers is essential for you to understand the different aspects of Business Workload that are responsible for generating demand across the different application tiers
Identifying relevant Infrastructure Workload Drivers is essential for you to understand the different metrics that need to collected for purposes of analysis, visualization and modelling for different Performance Engineering activities
Identifying your Business Workload Drivers is essential for you to monitor, track and predict growth of business which would form the basis of your Non Functional Requirements
Modelling your Performance Testing Workload using Little’s Law so that you are able to create realistic Workload Models that can be used as input to your Performance Testing Scenario Designs within the Performance Testing tool
Identifying Workload for purposes of Capacity Management. An understanding of the right set of Business Workload Drivers and Infrastructure Workload Drivers is required to model Performance of the application and determine the underlying infrastructure capacity impacts due to increase in Business Workload.
Identifying relevant aspects of the applications that need to get monitored across the different tiers so that you can proactively manage and monitor your SLA’s.
8. Workload Modelling Process
Understand Business Objectives & Program Goals
Understand Non Functional Requirements
Identify Business & Infrastructure Workload Drivers
Extract data for Workload Drivers from Production Environment
Analyse & Visualize Data Extracts from Production
Validate Non Functional Requirements based on Understanding of your Business Workload
Extrapolate Workload Volumes based on Business Growth Assumptions
Model Workload for Performance Testing Using Operational Theory / Little’s Law
Review Workload With Business & Internal Stake Holders
Model Workload for Monitoring, Modelling & Capacity Management
Document & Sign Off Workload
Review & Update Workload Drivers regularly
9. Questions to ask during Workload Modelling
As a Practical Performance Analyst, here’s a list of questions you would want to ask your customer -
Why does the application exist
What is the functionality delivered by your application
What are the key activities that your application performs to process incoming user requests
How does the application process incoming user requests
What unit of work best describes the work that is performed by your application
Do you have Non Functional Requirements for any of the key activities performed by the application
Do you have any key Customer SLA’s for these key activities performed by these applications
Do you have any Infrastructure SLA’s for these key activities performed by these applications
Does the list of activities we’ve discussed include all the key activities performance by your application
10. Examples of Workload (Business + Infrastructure)
Examples of Business Workload across the application –
OLTP (Online Transaction Processing) Workload – E.g. Txns/Hour, Orders/Hour, etc.
Batch Workload – E.g. Records Processed Per Job, Volume of Data Processed Per Job, Time taken to complete Job, etc.
Workflow Workload – E.g. Number of Workflow Requests/Hour, Rate of Processing of Workflow Requests/Hour, etc.
Messaging Workload – E.g. Incoming Messages Per Queue/Hour, Outgoing Messages Per Queue/Hour, Messages Transformed in Queue/Hour, etc.
Miscellaneous Workload
Examples of Infrastructure Workload across the application –
CPU Utilization
Memory Utilization
Disk IOPS
Network IOPS
Buffer Cache Utilization
Etc.
11. Challenges involved in Workload Modelling
Lack of access to Business SME’s to understand the application functionality
Lack of access to SME’ s to understand the application architecture
Lack of understanding of the true Business Workload Drivers being processed within the application
Lack of understanding of the relevant Infrastructure Workload Drivers for the given application
Lack of availability of data within the application to understand the Business Workload
Lack of availability of metrics from the monitoring applications to understanding the Infrastructure metrics
Challenges obtaining buy in from the application support teams to extract relevant Business Workload data from the applications in production
Challenges obtaining Business & Infrastructure Workload data collected at regular time intervals for purposes of analysis, visualization and modelling
12. Deliverables – Workload Modelling
Workload Models for Non Functional Requirements that document –
Business Workload Metrics
Infrastructure Workload Metrics
SLA’s for key Workload metrics
Growth for key Workload metrics
Workload Models for Performance Testing that document –
Business Workload Metrics
List of Business Processes that drive the Business Workload metrics
Infrastructure Workload Metrics
SLA’s for key Workload metrics
Growth for key Workload metrics to build Workload Models for Performance Test
Workload Models for Performance Modelling, Monitoring & Capacity Management that document –
Business Workload Metrics
Infrastructure Workload Metrics
SLA’s for key Workload metrics
Growth for key Workload metrics
13. Resources & Tools
Excel (Small Data Volumes) –
Time Series Analysis
Regression Modelling
Time Series Forecasting
Queuing Theory
Universal Scalability Law
JMT – Java Modelling Tools (jmt.sourceforge.net)
Queuing Networks
Mean Value Analysis of Queuing Network
Markov’s Chains based Simulation
R-Project (Large Data Volumes)
Time Series Modelling
Regression Modelling
Time Series Forecasting
14. 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