Top Banner
1 Adapted from Menascé & Almeida. Capacity Planning Methodology
43

Capacity Planning Methodology - dis.uniroma1.itdisanzo/CP2015-Slides/III Capacity... · –max. numb.of threads supported by DBMS • Resource parameters examples: –disk seek times,

Mar 09, 2018

Download

Documents

dinhminh
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Capacity Planning Methodology - dis.uniroma1.itdisanzo/CP2015-Slides/III Capacity... · –max. numb.of threads supported by DBMS • Resource parameters examples: –disk seek times,

1Adapted from Menascé & Almeida.

Capacity Planning

Methodology

Page 2: Capacity Planning Methodology - dis.uniroma1.itdisanzo/CP2015-Slides/III Capacity... · –max. numb.of threads supported by DBMS • Resource parameters examples: –disk seek times,

2Adapted from Menascé & Almeida.

Learning Objectives

•Discuss the concept of adequate

capacity of a system.

•Introduce service level agreements.

•Present a methodology for capacity

planning.

Page 3: Capacity Planning Methodology - dis.uniroma1.itdisanzo/CP2015-Slides/III Capacity... · –max. numb.of threads supported by DBMS • Resource parameters examples: –disk seek times,

3Adapted from Menascé & Almeida.

Learning Objectives (cont’d)

•Discuss the main steps of the

methodology:– understanding the environment

– workload characterization

– workload forecasting

– Performance/dependability modeling

– Performance/dependability prediction

– cost/performance-dependability analysis.

Page 4: Capacity Planning Methodology - dis.uniroma1.itdisanzo/CP2015-Slides/III Capacity... · –max. numb.of threads supported by DBMS • Resource parameters examples: –disk seek times,

4Adapted from Menascé & Almeida.

What is Adequate Capacity?

We say that a Web service has

adequate capacity if the service-level

agreements are continuously met for a

specified technology and standards,

and if the services are provided within

cost constraints.

Page 5: Capacity Planning Methodology - dis.uniroma1.itdisanzo/CP2015-Slides/III Capacity... · –max. numb.of threads supported by DBMS • Resource parameters examples: –disk seek times,

5Adapted from Menascé & Almeida.

Technology and Standards

• T&S means, for instance:

– HW for servers (and for clients)

– O.S. software

– LAN, WAN line infrastructure (type, speed)

• Sometimes the choice is based on

factors not related to performance:

– ease of system administration

– familiarity of personnel with the system

– number/quality of vendors for HW/SW

Page 6: Capacity Planning Methodology - dis.uniroma1.itdisanzo/CP2015-Slides/III Capacity... · –max. numb.of threads supported by DBMS • Resource parameters examples: –disk seek times,

6Adapted from Menascé & Almeida.

Service-Level Agreements (SLA)

• SLAs determine what a user of an

application can expect in terms of response

time, throughput, system availability, and

reliability

– focus on metrics that users can understand

– set easy-to-measure goals

– tie IT costs to your SLAs

Page 7: Capacity Planning Methodology - dis.uniroma1.itdisanzo/CP2015-Slides/III Capacity... · –max. numb.of threads supported by DBMS • Resource parameters examples: –disk seek times,

7Adapted from Menascé & Almeida.

Service Level Agreements: examples

• Response time for trivial database queries should not exceed 2 sec.

• We want the same level of availability and response time that we had in the mainframe environment.

• The goal for Web services is 99% of availability and less than 1-sec response time for 90% of the HTTP requests for small documents.

Page 8: Capacity Planning Methodology - dis.uniroma1.itdisanzo/CP2015-Slides/III Capacity... · –max. numb.of threads supported by DBMS • Resource parameters examples: –disk seek times,

8Adapted from Menascé & Almeida.

Adequate Capacity

Users

Mgmt

SLAs

Specified

Technology

& Standards

Cost

Constraints

Adequate

Capacity

e.g.: NT

and T1

e.g.: response time < 2 sec.

e.g.: startup cost < 100K$

maintenance cost < 20K$/yr

Page 9: Capacity Planning Methodology - dis.uniroma1.itdisanzo/CP2015-Slides/III Capacity... · –max. numb.of threads supported by DBMS • Resource parameters examples: –disk seek times,

9Adapted from Menascé & Almeida. Configuration Plan Investment Plan Personnel Plan

Understanding the Environment

Workload Characterization

Workload

Model

Workload Model Validation

and Calibration

Workload Forecasting

Cost Prediction

Cost

Model

Developing a Cost Model

Performance

and Availability

Model

Cost/Performance Analysis

Performance/Availability

Model Development

Performance/Availability

Model Calibration

Performance & Availability

Prediction

Page 10: Capacity Planning Methodology - dis.uniroma1.itdisanzo/CP2015-Slides/III Capacity... · –max. numb.of threads supported by DBMS • Resource parameters examples: –disk seek times,

10Adapted from Menascé & Almeida.

The Three Models

• Workload model:

– resource demand, load intensity - for each

component of a global workload

• Performance/Dependability model:

– used to predict performance/dependability

as function of system description and

workload parameters

– outputs: response times, throughputs,

system resources utilizations, queue

lengths, availability, reliability, safety, etc.

Page 11: Capacity Planning Methodology - dis.uniroma1.itdisanzo/CP2015-Slides/III Capacity... · –max. numb.of threads supported by DBMS • Resource parameters examples: –disk seek times,

11Adapted from Menascé & Almeida.

The Three Models (cont.)

• Performance/Dependability model

(cont.):

– the performance/dependability metrics are

matched against SLAs to check if capacity

is adequate

• Cost model:

– accounts for SW, HW, TLC, personnel,

training, support expenditures, etc.

Page 12: Capacity Planning Methodology - dis.uniroma1.itdisanzo/CP2015-Slides/III Capacity... · –max. numb.of threads supported by DBMS • Resource parameters examples: –disk seek times,

12Adapted from Menascé & Almeida. Configuration Plan Investment Plan Personnel Plan

Understanding the Environment

Workload Characterization

Workload

Model

Workload Model Validation

and Calibration

Workload Forecasting

Cost Prediction

Cost

Model

Developing a Cost Model

Performance

and Availability

Model

Cost/Performance Analysis

Performance/Availability

Model Development

Performance/Availability

Model Calibration

Performance & Availability

Prediction

Page 13: Capacity Planning Methodology - dis.uniroma1.itdisanzo/CP2015-Slides/III Capacity... · –max. numb.of threads supported by DBMS • Resource parameters examples: –disk seek times,

13Adapted from Menascé & Almeida.

Understanding the Environment

The goal is

• to learn what kind of

– hardware (clients and servers)

– software (OS, middleware, applications)

– network connectivity and protocols

are present in the environment.

• Identify peak periods, management

structures, SLAs

Page 14: Capacity Planning Methodology - dis.uniroma1.itdisanzo/CP2015-Slides/III Capacity... · –max. numb.of threads supported by DBMS • Resource parameters examples: –disk seek times,

14Adapted from Menascé & Almeida.

Understanding the Environment: example

FDDI ring

100 Mbps

LAN 5

16 Mbps token ring

LAN 1

LAN 2

LAN 4

LAN 3

10 Mbps

Ethernet

10 Mbps

Ethernet

10 Mbps

Ethernet

Internet

120 NT

clients

100 NT

clients

80 Unix

clients

100 NT

clients

proxy

server

ftp,web

mail s.

file

server

Unixfile

server

SQL

server

NT file

server

512 GB HD,

RAID-5

Page 15: Capacity Planning Methodology - dis.uniroma1.itdisanzo/CP2015-Slides/III Capacity... · –max. numb.of threads supported by DBMS • Resource parameters examples: –disk seek times,

15Adapted from Menascé & Almeida.

Elements in Understanding the

EnvironmentClient platform Quantity and type

Server platform Quantity, type, configuration andfunctions

Middleware Type (e.g. TP monitors)

DBMS Type

Application Main types of applications, criticality,etc.

Networkconnectivity

Network diagrams with LANs, WANs,routers, servers, etc.

SLAs Existing SLAs per application

Procurementprocedures

Elements of the procurement process,expenditure limits, justificationprocedures for acquisitions.

Page 16: Capacity Planning Methodology - dis.uniroma1.itdisanzo/CP2015-Slides/III Capacity... · –max. numb.of threads supported by DBMS • Resource parameters examples: –disk seek times,

16Adapted from Menascé & Almeida. Configuration Plan Investment Plan Personnel Plan

Understanding the Environment

Workload Characterization

Workload

Model

Workload Model Validation

and Calibration

Workload Forecasting

Cost Prediction

Cost

Model

Developing a Cost Model

Performance

and Availability

Model

Cost/Performance Analysis

Performance/Availability

Model Development

Performance/Availability

Model Calibration

Performance & Availability

Prediction

Page 17: Capacity Planning Methodology - dis.uniroma1.itdisanzo/CP2015-Slides/III Capacity... · –max. numb.of threads supported by DBMS • Resource parameters examples: –disk seek times,

17Adapted from Menascé & Almeida.

Workload Characterization

Workload characterization is the process of

precisely describing the system’s global

workload in terms of its main components.

The basic components are then characterized

by intensity (e.g. transaction arrival rate) and

service demand parameters at each resource

of the system.

Page 18: Capacity Planning Methodology - dis.uniroma1.itdisanzo/CP2015-Slides/III Capacity... · –max. numb.of threads supported by DBMS • Resource parameters examples: –disk seek times,

18Adapted from Menascé & Almeida.

Workload Characterization Process

Wkl component # 1

(e.g., C/S transactions)

Global Workload

Wkl component # n

(e.g., Web doc. Requests)

Basic component 1.1

(e.g., personnel transactions)

Basic Component 1.2

(e.g., sales transactions)

Basic component n.k

(e.g. video requests)

Basic component n.1

(e.g., small HTML docs.)

. . .

Page 19: Capacity Planning Methodology - dis.uniroma1.itdisanzo/CP2015-Slides/III Capacity... · –max. numb.of threads supported by DBMS • Resource parameters examples: –disk seek times,

19Adapted from Menascé & Almeida.

Workload Description

• Parameters for a basic component: must usually be derived indirectly (measurement or estimation of other parameters; usage of performance monitors, accounting systems, system log files, etc.)

• Measurements during normal and peak workload periods

• Use of clustering algorithms

Page 20: Capacity Planning Methodology - dis.uniroma1.itdisanzo/CP2015-Slides/III Capacity... · –max. numb.of threads supported by DBMS • Resource parameters examples: –disk seek times,

20Adapted from Menascé & Almeida.

Workload Description: example

Basic Components and Parameters Type

Sales transaction . Number of transactions submitted per client . Number of clients . Total number of I/Os to the Sales DB . CPU utilization at the DB server . Avg. messages sent/received by the DB server

--WIWISDSDSD

Web-based training . Avg. number of training sessions per day . Avg size of image files retrieved . Avg. size of http documents retrieved . Avg number of image files retrieved/session . Avg. number of documents retrieved/session . Avg. CPU utilization of the httpd server

--WISDSDSDSDSD

SD = service demandWI = workload intensity

Page 21: Capacity Planning Methodology - dis.uniroma1.itdisanzo/CP2015-Slides/III Capacity... · –max. numb.of threads supported by DBMS • Resource parameters examples: –disk seek times,

21Adapted from Menascé & Almeida.

Workload Parameters

• Workload intensity parameters:

– provide a measure of the load placed on

system, indicated by number of units of

work that contend for system resources

• Workload service demand parameters:

– specify the total amount of service time

required by each basic component at each

resource

Page 22: Capacity Planning Methodology - dis.uniroma1.itdisanzo/CP2015-Slides/III Capacity... · –max. numb.of threads supported by DBMS • Resource parameters examples: –disk seek times,

22Adapted from Menascé & Almeida.

Data Collection Issues

• How to determine the parameter values for each

basic component? -> adequate tools are often

unavailable; most tools provide only aggregate data

for resource levels. (ROT: Rule of Thumb)

Data Collection Facilities

Use benchmark,

industry practice,

and ROTs only

Use benchmark,

industry practice, ROT,

and measurements

Use measurements

only

None Some Detailed

Page 23: Capacity Planning Methodology - dis.uniroma1.itdisanzo/CP2015-Slides/III Capacity... · –max. numb.of threads supported by DBMS • Resource parameters examples: –disk seek times,

23Adapted from Menascé & Almeida.

Data Collection Issues: example

• The server demand at the server for a given application was 10

msec obtained in a controlled environment with a server with a

SPECint rating of 3.11.

• What would be the service demand if the server used in the

actual system were faster and had a SPECint rating of 10.4?

ActualServiceDemand = MeasuredServiceDemand x ScalingFactor

ScalingFactor = ControlledResourceThroughput /

ActualResourceThroughput

ActualServiceDemand = 10 * (3.11/10.4) = 3.0 msec.

Page 24: Capacity Planning Methodology - dis.uniroma1.itdisanzo/CP2015-Slides/III Capacity... · –max. numb.of threads supported by DBMS • Resource parameters examples: –disk seek times,

24Adapted from Menascé & Almeida. Configuration Plan Investment Plan Personnel Plan

Understanding the Environment

Workload Characterization

Workload

Model

Workload Model Validation

and Calibration

Workload Forecasting

Cost Prediction

Cost

Model

Developing a Cost Model

Performance

and Availability

Model

Cost/Performance Analysis

Performance/Availability

Model Development

Performance/Availability

Model Calibration

Performance & Availability

Prediction

Page 25: Capacity Planning Methodology - dis.uniroma1.itdisanzo/CP2015-Slides/III Capacity... · –max. numb.of threads supported by DBMS • Resource parameters examples: –disk seek times,

25Adapted from Menascé & Almeida.

Validating Workload Models

Actual

Workload

Synthetic

Workload

SystemSystem

Acceptable?Model

Calibration

Yes

No

Measured RT,

Throughput., etc

Measured RT,

Throughput., etc.

Page 26: Capacity Planning Methodology - dis.uniroma1.itdisanzo/CP2015-Slides/III Capacity... · –max. numb.of threads supported by DBMS • Resource parameters examples: –disk seek times,

26Adapted from Menascé & Almeida. Configuration Plan Investment Plan Personnel Plan

Understanding the Environment

Workload Characterization

Workload

Model

Workload Model Validation

and Calibration

Workload Forecasting

Cost Prediction

Cost

Model

Developing a Cost Model

Performance

and Availability

Model

Cost/Performance Analysis

Performance/Availability

Model Development

Performance/Availability

Model Calibration

Performance & Availability

Prediction

Page 27: Capacity Planning Methodology - dis.uniroma1.itdisanzo/CP2015-Slides/III Capacity... · –max. numb.of threads supported by DBMS • Resource parameters examples: –disk seek times,

27Adapted from Menascé & Almeida.

Workload Forecasting

• WL.F. is the process of predicting how

system workloads will vary in the future;

examples:

– How will the number of e-mail messages handled

per day by the server vary over the next 6

months?

– How will the number of hits to the corporate

intranet’s Web server vary over time?

Page 28: Capacity Planning Methodology - dis.uniroma1.itdisanzo/CP2015-Slides/III Capacity... · –max. numb.of threads supported by DBMS • Resource parameters examples: –disk seek times,

28Adapted from Menascé & Almeida.

Workload Forecasting (cont’d)

• Answering these questions involves:

– evaluating the organization’s workload trends;

– analyzing historical usage data;

– analyzing business or strategic plans;

– mapping plans into business processes (e.g.,

paperwork reduction will add 50% more e-mail).

• Workload forecasting techniques: moving

averages, exponential smoothing, linear

regression.

Page 29: Capacity Planning Methodology - dis.uniroma1.itdisanzo/CP2015-Slides/III Capacity... · –max. numb.of threads supported by DBMS • Resource parameters examples: –disk seek times,

29Adapted from Menascé & Almeida. Configuration Plan Investment Plan Personnel Plan

Understanding the Environment

Workload Characterization

Workload

Model

Workload Model Validation

and Calibration

Workload Forecasting

Cost Prediction

Cost

Model

Developing a Cost Model

Performance

and Availability

Model

Cost/Performance Analysis

Performance/Availability

Model Development

Performance/Availability

Model Calibration

Performance & Availability

Prediction

Page 30: Capacity Planning Methodology - dis.uniroma1.itdisanzo/CP2015-Slides/III Capacity... · –max. numb.of threads supported by DBMS • Resource parameters examples: –disk seek times,

30Adapted from Menascé & Almeida.

Performance Modeling and

Prediction• Is the process of estimating performance

measures of a computer system for a given set of

parameters.

• How are performance measures estimated?

System and

Workload

Description

Performance

metrics: response

time, throughput,

utilization, etc

Page 31: Capacity Planning Methodology - dis.uniroma1.itdisanzo/CP2015-Slides/III Capacity... · –max. numb.of threads supported by DBMS • Resource parameters examples: –disk seek times,

31Adapted from Menascé & Almeida.

Estimating performance measures

Queuing

Network Model

System

DescriptionPerformance

Measures

• Response time

• Throughput

• Utilization

• Queue length

• System parameters

• Resources parameters

• Workload parameters

- service demands

- workload intensity

- burstiness

Page 32: Capacity Planning Methodology - dis.uniroma1.itdisanzo/CP2015-Slides/III Capacity... · –max. numb.of threads supported by DBMS • Resource parameters examples: –disk seek times,

32Adapted from Menascé & Almeida.

Parameters (Affecting

Performance) (I)

• System parameters examples:

– load-balancing disciplines for WEB serv.s

– network protocols

– max. numb. of connections supported

– max. numb.of threads supported by DBMS

• Resource parameters examples:

– disk seek times, latency, transfer rate

– network bandwidth; router latency

– CPU speed

Page 33: Capacity Planning Methodology - dis.uniroma1.itdisanzo/CP2015-Slides/III Capacity... · –max. numb.of threads supported by DBMS • Resource parameters examples: –disk seek times,

33Adapted from Menascé & Almeida.

Parameters (Affecting

Performance) (II)

• Workload parameters examples:

– WL intensity parameters:

• numb. of hits/day of Web proxy

• numb. of requests/second to file server

• numb. of sales transactions to DB server

• numb. of clients running scientific applications

– WL service demand parameters:

• CPU time of transactions at DB server

• total transmission of replies from DB server

• total I/O time at Web proxy for images and video

clips

Page 34: Capacity Planning Methodology - dis.uniroma1.itdisanzo/CP2015-Slides/III Capacity... · –max. numb.of threads supported by DBMS • Resource parameters examples: –disk seek times,

34Adapted from Menascé & Almeida.

Queuing Network Models

• Performance prediction requires use of

models

• Two types:

– analytical models: set of formulas and/or

computational algorithms ->studied in this course

– simulation models: computer programs, all

resources and the dataflow are simulated

• Both types must consider contention queues

• The various queues are interconnected:

network of queues

Page 35: Capacity Planning Methodology - dis.uniroma1.itdisanzo/CP2015-Slides/III Capacity... · –max. numb.of threads supported by DBMS • Resource parameters examples: –disk seek times,

35Adapted from Menascé & Almeida.

FDDI R3R1

R4

R2

L2

D

D

D

D

C

C

CC

(CL1, Tr, Web)

(CL2, Tr, Web)

(CL4, Tr, Web)

(CL3, FS, Fs3)

L1 L3

(CL1,TR, Web)

(CL1, FS, Fs1)

(CL2,TR, Web) (CL2, FS, Fs2)

(CL3, TR, Web)

(CL1,TR, Web)(CL2,TR, Web)(CL3,TR, Web)(CL4,TR, Web)

(CL1, FS, Fs1)

QN model

Web S

Page 36: Capacity Planning Methodology - dis.uniroma1.itdisanzo/CP2015-Slides/III Capacity... · –max. numb.of threads supported by DBMS • Resource parameters examples: –disk seek times,

36Adapted from Menascé & Almeida. Configuration Plan Investment Plan Personnel Plan

Understanding the Environment

Workload Characterization

Workload

Model

Workload Model Validation

and Calibration

Workload Forecasting

Cost Prediction

Cost

Model

Developing a Cost Model

Performance

and Availability

Model

Cost/Performance Analysis

Performance/Availability

Model Development

Performance/Availability

Model Calibration

Performance & Availability

Prediction

Page 37: Capacity Planning Methodology - dis.uniroma1.itdisanzo/CP2015-Slides/III Capacity... · –max. numb.of threads supported by DBMS • Resource parameters examples: –disk seek times,

37Adapted from Menascé & Almeida.

Performance Model Validation

• A performance model is said to be valid

if the performance metrics calculated by

the model match the actual system,

within an acceptable error margin.

Usually 10 to 30% are acceptable in

Capacity Planning.

Page 38: Capacity Planning Methodology - dis.uniroma1.itdisanzo/CP2015-Slides/III Capacity... · –max. numb.of threads supported by DBMS • Resource parameters examples: –disk seek times,

38Adapted from Menascé & Almeida.

Validating Performance Models

Real

System

Performance

Model

CalculationsMeasurements

Acceptable?Model

Calibration

Yes (*)

No

Measured RT,

Throughput., etc

Calculated RT,

Throughput., etc.

(*) Accuracy from 10 to

30% is acceptable in CP

Page 39: Capacity Planning Methodology - dis.uniroma1.itdisanzo/CP2015-Slides/III Capacity... · –max. numb.of threads supported by DBMS • Resource parameters examples: –disk seek times,

39Adapted from Menascé & Almeida. Configuration Plan Investment Plan Personnel Plan

Understanding the Environment

Workload Characterization

Workload

Model

Workload Model Validation

and Calibration

Workload Forecasting

Cost Prediction

Cost

Model

Developing a Cost Model

Performance

and Availability

Model

Cost/Performance Analysis

Performance/Availability

Model Development

Performance/Availability

Model Calibration

Performance & Availability

Prediction

Page 40: Capacity Planning Methodology - dis.uniroma1.itdisanzo/CP2015-Slides/III Capacity... · –max. numb.of threads supported by DBMS • Resource parameters examples: –disk seek times,

40Adapted from Menascé & Almeida.

Cost Model

• A capacity planning methodology requires the

identification of major sources of cost as well as the

determination of how cost will vary with system size

and architecture.

• Cost categories:

• Startup costs

• Operating costs

Page 41: Capacity Planning Methodology - dis.uniroma1.itdisanzo/CP2015-Slides/III Capacity... · –max. numb.of threads supported by DBMS • Resource parameters examples: –disk seek times,

41Adapted from Menascé & Almeida.

Cost Model: categories

• Hardware costs: client and server machines, disks,

routers, bridges, cabling, UPS, maintenance, vendor

maintenance/technical support, etc.

• Software costs: operating systems, middleware, DBMS,

mail processing software, office automation, antivirus,

applications, etc.

• Telecommunication costs: WAN services, ISP, etc.

• Support costs: salaries and benefits of all system

administrators, help desk support, personnel training,

network people, etc. –

Personnel costs: 60-70% of total costs

Page 42: Capacity Planning Methodology - dis.uniroma1.itdisanzo/CP2015-Slides/III Capacity... · –max. numb.of threads supported by DBMS • Resource parameters examples: –disk seek times,

42Adapted from Menascé & Almeida.

Cost/Performance Analysis

• Cost and performance models: used to assess

possible scenarios, e.g.

– mirror Web server to balance load?

– replace Web server with faster one?

– Move to a 3-tier architecture?

• For each scenario, predict performances and costs

• From comparison of scenarios, get

– configuration plan

– investment plan

– personnel plan

• Assess payback: ROI (Return on Investment),

company’s image strategy, shorter time-to-market,

etc.

Page 43: Capacity Planning Methodology - dis.uniroma1.itdisanzo/CP2015-Slides/III Capacity... · –max. numb.of threads supported by DBMS • Resource parameters examples: –disk seek times,

43Adapted from Menascé & Almeida.

Summary

• Concept of adequate capacity

• Service Level Agreement (SLA)

• Framework of a methodology for capacity

planning:

• workload characterization

• workload forecasting

• performance modeling and prediction

• model validation

• cost model