39
<Insert Picture Here> Introduction to enterprise applications capacity planning using queuing models Leonid Grinshpan, Ph.D. Consulting Technical Director

Introduction to enterprise applications capacity planning

Embed Size (px)

DESCRIPTION

The presentation provides an introduction to enterprise applications capacity planning using queuing models. Oracle’s Consulting uses presented methodology to estimate hardware architecture and capacity of planned for deployment enterprise applications for Oracle customers.

Citation preview

Page 1: Introduction to enterprise applications capacity planning

<Insert Picture Here>

Introduction to enterprise applications capacity planning

using queuing models

Leonid Grinshpan, Ph.D.

Consulting Technical Director

Page 2: Introduction to enterprise applications capacity planning

2

Disclaimer

The following presentation is intended for information purposes

only, and may not be incorporated into any contract. It is not a

commitment to deliver any material, code, or functionality

All brands and trademarks mentioned are the property of their

owners.

Page 3: Introduction to enterprise applications capacity planning

3

Presentation’s goal

The presentation provides an introduction to enterprise

applications capacity planning using queuing models

Oracle’s Consulting uses presented methodology to estimate

hardware architecture and capacity of planned for

deployment enterprise applications for Oracle customers

Page 4: Introduction to enterprise applications capacity planning

4

Presentation’s structure

Methodology of enterprise applications capacity planning

Section 1

Do we really need modeling for capacity planning?

Section 2

Section 3

Solving models and evaluating what-if scenarios

Page 5: Introduction to enterprise applications capacity planning

5

Section 1

DO WE REALLY NEED MODELING FOR

CAPACITY PLANNING?

Can we just go by our gut feeling?

Page 6: Introduction to enterprise applications capacity planning

6

Quiz 1. Ticket reservation application

• A ticket reservation application is deployed on one server with 8

CPUs.

• System delivers 10 seconds response time and utilizes server’s CPU

at 50% under workload described in a table:

Q. How many more users an application can support without

response time degradation exceeding 10% ?

Transaction name Number of users Transaction rate

Ticket Reservation (TR) 250 6 per user per hour

Page 7: Introduction to enterprise applications capacity planning

7

Quiz 1. Ticket reservation application (cont)

Page 8: Introduction to enterprise applications capacity planning

8

Quiz 2. Ticket reservation and on-line payment

applications

• A ticket reservation application per Quiz 1 uses only 50% of 8 CPU

server capacity. Let’s deploy on the same server on-line payment

application.

• Workload for both applications is described in a table:

Q. How many on-line payment users system can support

delivering on-line payment transaction time 8 seconds?

Transaction name Number of users Transaction rate

Ticket Reservation (TR) 250 6 per user per hour

On-line payment (OLP) ???? 10 per user per hour

Page 9: Introduction to enterprise applications capacity planning

9

Quiz 2. Ticket reservation and on-line payment

applications (cont)

Page 10: Introduction to enterprise applications capacity planning

10

Section 2

METHODOLOGY OF ENTERPRISE

APPLICATIONS CAPACITY PLANNING

Page 11: Introduction to enterprise applications capacity planning

11

Generalized enterprise application architecture

Page 12: Introduction to enterprise applications capacity planning

12

What is a main application performance indicator

from the users perspective?

Page 13: Introduction to enterprise applications capacity planning

13

Mapping application into queuing model

Hardware server representation

Total time in node = time in waiting queue + time in processing unit

Page 14: Introduction to enterprise applications capacity planning

14

Mapping application into queuing model (cont 2)

Page 15: Introduction to enterprise applications capacity planning

15

Mapping application into queuing model (cont 3)

The relationships between the components of a real system and the

components of its model

Component of application Matching object in

queuing model

Users Node “Users”

Web server Node “Web server”

Application and Database

server

Node “A&D server”

Requests from users Cars

Page 16: Introduction to enterprise applications capacity planning

16

Transaction response time and transaction profile

Transaction time is a time spent in “cloud”

Page 17: Introduction to enterprise applications capacity planning

17

Transaction response time and transaction profile (cont 2)

Page 18: Introduction to enterprise applications capacity planning

18

Input data for capacity planning

List of business transactions

Number of users per each business transaction

Per each transaction a number of transactions per user per hour

(transaction rate).

Transaction name Number of users Transaction rate

Report ABC 20 12

Business Rule X 10 8

Consolidation Y 5 3

1. Workload characterization

Page 19: Introduction to enterprise applications capacity planning

19

Input data for capacity planning (cont 2)

2. Transactions profiles

Transaction profile is comprised of the time intervals a transaction has spent in

system servers it has visited when application was serving only that single

transaction

Transaction name Service demand (seconds)

Web server A&D server

Report ABC 0.5 0.5

Business Rule X 0.5 2.5

Consolidation Y 0.5 9.5

Page 20: Introduction to enterprise applications capacity planning

20

Building and solving models using open source

Java Modeling Tool

Open source software package Java Modeling Tools (JMT) can be downloaded from

http://jmt.sourceforge.net/.

Page 21: Introduction to enterprise applications capacity planning

21

Definition of nodes in JMT

Node “Users” has as many processing units as total number of users

Node “Web server” has one processing unit

Node “A&D server” has one processing unit

Page 22: Introduction to enterprise applications capacity planning

22

Definition of workload and transaction profile in

JMT

Page 23: Introduction to enterprise applications capacity planning

23

Solving JMT model

Report ABC time is 0.52 + 0.57 = 1.09 sec

Business Rule X time is 0.52 + 2.84 = 3.36 sec

Consolidation Y time is 0.52 + 10.78 = 11.30 sec

Page 24: Introduction to enterprise applications capacity planning

24

Solving JMT model (cont 2)

Total utilization of Web server is 4.6% and A&D server is 12.7%

Transaction Business Rule X utilizes Web server at 1.1% and A&D server at 5.5%

Transaction Consolidation Y utilizes Web server at 0.2% and A&D server at 3.9%

Page 25: Introduction to enterprise applications capacity planning

25

What is needed for enterprise application capacity

planning ?

1. Description of system architecture (hardware servers , hosted software components)

2. Input data:

Workload characterization (flow of business transactions from system users)

Transaction profiles (service demand from single transaction)

3. Model solver

Page 26: Introduction to enterprise applications capacity planning

26

Section 3

SOLVING MODELS AND EVALUATING

WHAT-IF SCENARIOS

Page 27: Introduction to enterprise applications capacity planning

27

Open source vs. commercial model solvers

Open source solvers

Limited functionality

Lack of extensive and up-to-day libraries of hardware platforms

Commercial solvers

Accept input data in a form of hardware and software specifications and benchmarks

Automate study of multiple what-if scenarios

Components of broader suites

Include collectors of input data that can be feed into model directly

Page 28: Introduction to enterprise applications capacity planning

28

Building and solving models using commercial

products

Transaction

name

Service demand (seconds)

Web server App server DB server

Report ABC 0.5 0.2 0.3

Business Rule X 0.5 1.0 1.5

Consolidation Y 0.5 7.0 2.5

Transaction profiles

Three-tier system

Page 29: Introduction to enterprise applications capacity planning

29

Building and solving models using commercial

products (cont 2)

Specification of hardware servers

Description of business transactions

Page 30: Introduction to enterprise applications capacity planning

30

Building and solving models using commercial

products (cont 3)

Transaction profiles

Page 31: Introduction to enterprise applications capacity planning

31

Building and solving models using commercial

products (cont 4)

Description of users

Page 32: Introduction to enterprise applications capacity planning

32

Building and solving models using commercial

products (cont 5)

MAIN MODEL DELIVERABLES

Average transaction response time for each transaction

Utilization of each hardware server

Transaction time (seconds) Utilization of system servers (%)

Page 33: Introduction to enterprise applications capacity planning

33

Common what-if scenarios

1. Changing hardware platform

2. Analysis of different operating systems

3. Workload variations

4. Assessment of impact of network and remote users

5. Changing number of cores and CPUs

6. Server farms

7. Redistribution of application’s software components

Page 34: Introduction to enterprise applications capacity planning

34

Analysis of what-if scenarios

Faster Application server

All three servers are faster

Page 35: Introduction to enterprise applications capacity planning

35

Analysis of what-if scenarios (cont 2)

Transaction time (seconds)

Baseline system

Transaction time (seconds)

System with fast Application server

Page 36: Introduction to enterprise applications capacity planning

36

Analysis of what-if scenarios (cont 3)

Transaction time (seconds)

System with fast Application server

Transaction time (seconds)

System with three fast servers

Page 37: Introduction to enterprise applications capacity planning

37

Analysis of what-if scenarios (cont 3)

Utilization of system servers (%)

Page 38: Introduction to enterprise applications capacity planning

38

Example of an Oracle enterprise application

production deployment

DO WE REALLY NEED MODELING FOR CAPACITY

PLANNING?

Can we just go by our gut feeling?

Page 39: Introduction to enterprise applications capacity planning

39

To learn more about enterprise applications

capacity planning please check

author’s book

“Solving Enterprise Applications Performance

Puzzles: Queuing Models to the Rescue”

(available in bookstores and from Web

booksellers)

http://www.amazon.com/Solving-Enterprise-

Applications-Performance-

Puzzles/dp/1118061578/ref=sr_1_1?ie=UTF8&

qid=1326134402&sr=8-1

https://www.amazon.com/author/leonid.grinshpan

Contact Leonid Grinshpan at:

[email protected]