primer on workload_modelling_v0.2

14
Fundamentals of Workload Modelling Practical Performance Analyst – 14 th July 2012 http://www.practicalperformanceanalyst.com

Upload: trevor-warren

Post on 12-Jul-2015

76 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Primer on workload_modelling_v0.2

Fundamentals of Workload Modelling

Practical Performance Analyst – 14th July 2012

http://www.practicalperformanceanalyst.com

Page 2: Primer on workload_modelling_v0.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

Page 3: Primer on workload_modelling_v0.2

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

Page 4: Primer on workload_modelling_v0.2

What is Proactive Performance Management

Performance Requirements

Analysis

Performance Modelling &

Capacity Planning

Build & Optimization

Performance Testing

Performance Monitoring

Capacity Management

Page 5: Primer on workload_modelling_v0.2

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

Page 6: Primer on workload_modelling_v0.2

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)

Page 7: Primer on workload_modelling_v0.2

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.

Page 8: Primer on workload_modelling_v0.2

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

Page 9: Primer on workload_modelling_v0.2

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

Page 10: Primer on workload_modelling_v0.2

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.

Page 11: Primer on workload_modelling_v0.2

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

Page 12: Primer on workload_modelling_v0.2

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

Page 13: Primer on workload_modelling_v0.2

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

Page 14: Primer on workload_modelling_v0.2

Thank You

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

[email protected]