methodology of virtual machines sizing

26
<Insert Picture Here> Leonid Grinshpan, Ph.D. Consulting Technical Director, Oracle Corporation Methodology of virtual machines sizing Share to Facebook Share to LinkedIn Share toTwitter Share to SlideShare

Upload: leonid-grinshpan-phd

Post on 08-May-2015

1.186 views

Category:

Technology


4 download

DESCRIPTION

The presentation outlines methodology of virtual machines CPU sizing

TRANSCRIPT

Page 1: Methodology of virtual machines sizing

<Insert Picture Here>

Leonid Grinshpan, Ph.D. Consulting Technical Director, Oracle Corporation

Methodology of virtual machines sizing

Share to Facebook

Share to LinkedIn

Share toTwitter

Share to SlideShare

Page 2: Methodology of virtual machines sizing

2

The views expressed in this presentation are author’s own and

do not reflect the views of the companies he had worked for neither

Oracle Corporation.

All brands and trademarks mentioned are the property of their owners.

The presentation is based on

author’s book

“Solving Enterprise Application Performance Puzzles: Queuing

Models to the Rescue”

(available in bookstores and from Web booksellers from January 2012)

Page 3: Methodology of virtual machines sizing

3

Presentation’s goal

The presentation outlines methodology

of virtual machines (VM) CPU sizing

A real life task addressed by methodology:

A number of enterprise applications are deployed on

non-virtualized physical servers.

While moving each application to its dedicated VMs

how many CPUs have to be allocated to each VMs ?

Page 4: Methodology of virtual machines sizing

4

Methodology highlights

1. In non-virtualized environment for each application monitor its CPU utilization on each server

2. Find out is there enough unused CPU capacity to consolidate applications on fewer servers

3. Check if consolidation does not degrade application transaction times. Two ways to do it:

• Redeploy apps and monitor live system (practically impossible for production enterprise applications)

• Build a model and evaluate

4. If a model confirms that consolidation does not impact application performance than for each application identify the number N of CPUs it utilizes on each server

Page 5: Methodology of virtual machines sizing

5

Methodology highlights (continued 2)

5. Assigning the same N CPUs to VM hosting application will lead to transaction times degradation (this is a harsh reality explained by queuing theory); use model to find out for each VM the number of CPUs Nvm > N that provides acceptable transaction times.

6. While deploying VM use the rule:

NvCPU = Nvm

where NvCPU – number of virtual CPU

Proposed methodology is based on evaluation of a number of physical CPUs sufficient to satisfy application workload. The methodology

actually strips virtualization logistics down to bare bones of physical infrastructure; this approach eliminates guesswork,

overcomitment of resources, minimizes rescheduling downtime.

Page 6: Methodology of virtual machines sizing

6

Methodology of VM sizing is using queuing models; visit a link below to learn about enterprise application

modeling and capacity planning

http://www.slideshare.net/samsoncat/methodology-of-enterprise-applications-capacity-planning

Page 7: Methodology of virtual machines sizing

7

The subsequent slides demonstrate methodology of VM sizing in action

Demonstration scenario

- Non-virtualized platform includes five physical servers with 8 CPU each one.

- Applications A and B are to be deployed on that non-virtualized platform; application workloads and transaction profiles (service demands) are specified.

- Using models a few deployment scenarios are evaluated; model confirmed that both applications can be deployed on two physical servers.

- In order to isolate applications two VMs per physical server have to be deployed (one VM per application).

- The performance degrades when a number of CPUs in each VM is equal to the one utilized by application in non- virtualized servers.

- Modeling virtualized deployment identifies a number of CPUs per each VM that ensures acceptable transaction times for Applications A and B.

Page 8: Methodology of virtual machines sizing

8

Non-virtualized deployment. Architecture

Page 9: Methodology of virtual machines sizing

9

Application workloads

Page 10: Methodology of virtual machines sizing

10

Transaction profiles (service demands)

Applications A and B deployed on servers 1, 2, and 3

Page 11: Methodology of virtual machines sizing

11

Non-virtualized deployment. Transaction times for three set ups of Applications A and B

Model concludes that both applications can coexist on

Servers 1, 2, 3 as an impact on transaction times is practically unnoticeable

Page 12: Methodology of virtual machines sizing

12

Non-virtualized deployment. Utilization of three servers

There is substantial headroom on Servers 1 and 3 which suggest that Applications A and B can be redeployed to free up one server

Page 13: Methodology of virtual machines sizing

13

Non-virtualized deployment. Utilization of two servers

Model shows that hosting both applications on two servers is acceptable from performance standpoint as it minimizes a number of physical servers

and does not increase transaction time.

Page 14: Methodology of virtual machines sizing

14

Virtualized deployment. Architecture

• We are going to isolate the applications by setting up two virtual machines

on each server: one machine for Application A and the second one for Application B.

• Servers 1 and 2 have eight CPUs each and we have to find out how many CPUs should be assigned to each virtual machine.

Page 15: Methodology of virtual machines sizing

15

Virtualized deployment. Architecture (continued 2)

Page 16: Methodology of virtual machines sizing

16

Virtualized deployment. Architecture (continued 3)

Page 17: Methodology of virtual machines sizing

17

Comparison between non-virtualized and virtualized deployments when a number of CPUs on each VM is equal to the one utilized by application in non-virtualized servers

Page 18: Methodology of virtual machines sizing

18

Queuing theory explains it all

Formal explanation based on queuing theory can be found

in a book:

Leonid Grinshpan. Solving Enterprise Application Performance Puzzles: Queuing Models to the Rescue,

Willey-IEEE Press; available in bookstores and from Web booksellers from January 2012

Page 19: Methodology of virtual machines sizing

19

Queuing theory results are in line with our experience

Toll plaza

Toll plaza with booths equally accessible by any cars has lower congestion than the same plaza with booths divided by two categories: ones serving only sedans and the others serving only trucks.

An intuitive explanation is: in a non-divided plaza in an absence of the trucks a sedan can be processed by any booth and vice versa; in a divided plaza the booths dedicated to trucks will stay idle even if there is a queue of sedans.

Movie theater box office

If any wicket serves any theatergoers, then waiting queue is not as long as in a case when some wickets provide only to particular customer categories.

Page 20: Methodology of virtual machines sizing

20

VM sizing after lesson learned

Increasing a number of CPUs per virtual machine

Page 21: Methodology of virtual machines sizing

21

VM sizing after lesson learned (continued 2)

Deployment of Application A on non-virtual platform delivers the shortest transaction times. One-CPU virtual machines provide terrible performance. Set up with two CPUs per virtual machine increases transaction time 15% - 22%.

Page 22: Methodology of virtual machines sizing

22

VM sizing after lesson learned (continued 3)

Deployment of Application B on non-virtual platform delivers the shortest transaction times. Four-CPU virtual machines significantly degrades performance.

Six-CPU virtual machines features only slight increase in transaction time.

Page 23: Methodology of virtual machines sizing

23

VM sizing after lesson learned (continued 4)

Page 24: Methodology of virtual machines sizing

24

Methodology of virtual machines sizing

1. Estimate capacity demand from each application either by monitoring production system under realistic workload or using queuing models.

2. Analyze a few what-if scenarios to find out minimal number of non-virtualized physical servers capable to support all applications and meet service level requirements.

3. Identify a number of physical CPUs in use by each application (for a server with M physical CPUs one CPU contributes 100% / M percents to total utilization. If application consumes U% of total server capacity, then a number of physical CPUs utilized by application is (U%*M)/100%).

4. To estimate a number of physical CPUs to allocate to each VM use queuing models – they ensure acceptable performance because model will identify a number of physical CPUs in addition to calculated on step 3.

Page 25: Methodology of virtual machines sizing

25

Methodology of virtual machines sizing (continued 2)

5. When configuring VM assign to each one the same number of virtual CPUs (vCPU) as a number of physical CPUs identified in 4.

6. Proposed methodology is based on evaluation of a number of physical CPUs sufficient to satisfy application workload. The methodology actually strips virtualization logistics down to bare bones of its physical infrastructure; this approach eliminates guesswork, overcomitment of resources, minimizes rescheduling downtime.

The following relationships clarify the foggy virtualization concepts guest VM is a process on a physical server virtual CPU of a guest VM is a software thread spawn by guest VM process

Page 26: Methodology of virtual machines sizing

26

Share this presentation

Share to Facebook

Share to LinkedIn

Share toTwitter

Share to SlideShare