solving enterprise applications performance puzzles queuing models to the rescue

34
<Insert Picture Here> Solving Enterprise Application Performance Puzzles: Queuing Models to the Rescue Leonid Grinshpan, Ph.D. Consulting Technical Director, Oracle Corporation

Upload: leonid-grinshpan-phd

Post on 29-Jun-2015

1.201 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Solving enterprise applications performance puzzles   queuing models to the rescue

<Insert Picture Here>

Solving Enterprise Application Performance Puzzles:

Queuing Models to the Rescue

Leonid Grinshpan, Ph.D.

Consulting Technical Director, Oracle Corporation

Page 2: Solving enterprise applications performance puzzles   queuing models to the rescue

Disclaimer

The views expressed in this presentation are my own

and do not reflect the views of the companies I have

worked for neither Oracle Corporation.

All brands and trademarks mentioned are the property

2

All brands and trademarks mentioned are the property

of their owners.

Page 3: Solving enterprise applications performance puzzles   queuing models to the rescue

Presentation’s goal

Presentation provides an overview of a scientific

methodology of enterprise application performance

troubleshooting based on queuing models

Analyzed in presentation queuing models emulate

performance bottlenecks in enterprise applications; the

3

performance bottlenecks in enterprise applications; the

models visualize and explain bottlenecks’ causes and

consequences and determine

the ways to fix them

Page 4: Solving enterprise applications performance puzzles   queuing models to the rescue

Enterprise applications – what do they have

in common?

• Support critical for corporate business functions.

• Hosted on server farms and provide services to a large number of business

users.

• Process much larger and complex data per a user request than Internet

applications.

4

applications.

• Have significantly fewer users than Internet applications since their user

communities are limited to corporate business departments.

• End users work with enterprise application not only through browser as with

Internet application, but also through varieties of front-end programs.

Page 5: Solving enterprise applications performance puzzles   queuing models to the rescue

Enterprise applications – what do they have

in common? (continued 2)

• Significant factor influencing performance of enterprise applications is a

pacing of the requests submitted by the users – a number of requests per

given time interval, usually per one hour.

• Enterprise applications permanently evolve as they have to stay in sync with

ever changing businesses they support. That creates a constant need for

application tuning and sizing.

5

Page 6: Solving enterprise applications performance puzzles   queuing models to the rescue

Enterprise applications architecture

6

Page 7: Solving enterprise applications performance puzzles   queuing models to the rescue

Key performance indicator - transaction time

7

Page 8: Solving enterprise applications performance puzzles   queuing models to the rescue

What is application tuning and sizing?

• Application tuning is a course of action aimed to find and fix the

bottlenecks in production systems for given workload, data volume,

and system architecture.

• Application sizing takes place for planned applications as well as

8

when existing production applications have to be scaled to

accommodate a growth in a number of users and volume of data.

Sizing delivers the estimates of hardware architecture that ensures

requested service quality under anticipated workload.

Page 9: Solving enterprise applications performance puzzles   queuing models to the rescue

Queuing models of enterprise application

• Why models?

Models help us to abstract from numerous non important and

distracting details and allow concentrating on the fundamental

processes in the applications.

• Why queuing models?

Any system providing services to the users has the users’ requests

9

waiting in the queues when a speed of a service is slower than a

pace of incoming requests.

Queuing models take into account relevant for sizing and tuning

events and processes in computer systems: competition for

resources among concurrent requests; waits in queues; an impact of

the waits on transaction response times, and so on.

Page 10: Solving enterprise applications performance puzzles   queuing models to the rescue

Mapping application into queuing model

10

Page 11: Solving enterprise applications performance puzzles   queuing models to the rescue

Mapping application into queuing model (continued 2)

The relationships between the components of a real system and the

components of its model

11

Page 12: Solving enterprise applications performance puzzles   queuing models to the rescue

Mapping application into queuing model (continued 3)

Hardware server representation

time in waiting queue + time in processing unit

12

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

Page 13: Solving enterprise applications performance puzzles   queuing models to the rescue

Mapping application into queuing model (continued 4)

time in waiting queue + time in processing unit

13

Page 14: Solving enterprise applications performance puzzles   queuing models to the rescue

Transaction response time and transaction profile

Transaction time is a time spent in “cloud”

14

Page 15: Solving enterprise applications performance puzzles   queuing models to the rescue

Transaction response time and transaction profile

(continued 2)

15

Page 16: Solving enterprise applications performance puzzles   queuing models to the rescue

Application workload and impact of a user think time

Model with non-zero think time

16

Model with zero think timeModel with indefinite think time

Page 17: Solving enterprise applications performance puzzles   queuing models to the rescue

Application workload and impact of a user think time

(continued 2)

17

Page 18: Solving enterprise applications performance puzzles   queuing models to the rescue

Wrong workload specification = wrong tuning decisions

(realistic workload)

18

Page 19: Solving enterprise applications performance puzzles   queuing models to the rescue

Wrong workload specification = wrong tuning decisions

(realistic workload)

19

Page 20: Solving enterprise applications performance puzzles   queuing models to the rescue

Wrong workload specification = wrong tuning decisions

(users’ redistribution)

20

Page 21: Solving enterprise applications performance puzzles   queuing models to the rescue

Wrong workload specification = wrong tuning decisions

(changing a number of users)

21

Page 22: Solving enterprise applications performance puzzles   queuing models to the rescue

Wrong workload specification = wrong tuning decisions

(transaction rate variation)

22

Page 23: Solving enterprise applications performance puzzles   queuing models to the rescue

Servers, CPUs, and other building blocks of

application scalability

23

Application model with CPU and I/O subsystem

Page 24: Solving enterprise applications performance puzzles   queuing models to the rescue

CPU bottleneck identification

CPU bottleneck models help to learn how to discover CPU bottleneck, as well as how to fix it by adding CPUs or servers.

24

Page 25: Solving enterprise applications performance puzzles   queuing models to the rescue

Fixing CPU bottleneck

by adding CPUs

CPU bottleneck can be fixed by adding CPUs to a server; system with additional CPUs is capable to support more users without transaction time degradation.

A number of CPUs is limited by the state of technology.

25

Page 26: Solving enterprise applications performance puzzles   queuing models to the rescue

Fixing CPU bottleneck

by adding servers

26

Page 27: Solving enterprise applications performance puzzles   queuing models to the rescue

I/O bottleneck identification

I/O bottleneck models help to learn how to discover I/O bottleneck, as well as how to fix it by adding disks

27

Page 28: Solving enterprise applications performance puzzles   queuing models to the rescue

Fixing I/O bottleneck

by adding disks

or using faster disks

28

Page 29: Solving enterprise applications performance puzzles   queuing models to the rescue

Operating system

overhead

System time model

29

To minimize OS overhead we have to use the simplest architectural and system management solutions as long as they deliver required service level. “The simplest” means as fewer as possible CPUs, servers, appliances, as well as the most “economical”

settings of application’s tuning parameter.

Page 30: Solving enterprise applications performance puzzles   queuing models to the rescue

Modeling different application configurations

Accounting for the time on end-user computer

30

Page 31: Solving enterprise applications performance puzzles   queuing models to the rescue

Modeling different application configurations

Remote terminal services

31

Page 32: Solving enterprise applications performance puzzles   queuing models to the rescue

Modeling different application configurations

Load balancing and server farms

32

Page 33: Solving enterprise applications performance puzzles   queuing models to the rescue

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

33

qid=1326134402&sr=8-1

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

Contact Leonid Grinshpan at:

[email protected]

Page 34: Solving enterprise applications performance puzzles   queuing models to the rescue

34