solving enterprise applications performance puzzles queuing models to the rescue

Post on 29-Jun-2015

1.201 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

<Insert Picture Here>

Solving Enterprise Application Performance Puzzles:

Queuing Models to the Rescue

Leonid Grinshpan, Ph.D.

Consulting Technical Director, Oracle Corporation

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.

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

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.

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

Enterprise applications architecture

6

Key performance indicator - transaction time

7

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.

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.

Mapping application into queuing model

10

Mapping application into queuing model (continued 2)

The relationships between the components of a real system and the

components of its model

11

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

Mapping application into queuing model (continued 4)

time in waiting queue + time in processing unit

13

Transaction response time and transaction profile

Transaction time is a time spent in “cloud”

14

Transaction response time and transaction profile

(continued 2)

15

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

Application workload and impact of a user think time

(continued 2)

17

Wrong workload specification = wrong tuning decisions

(realistic workload)

18

Wrong workload specification = wrong tuning decisions

(realistic workload)

19

Wrong workload specification = wrong tuning decisions

(users’ redistribution)

20

Wrong workload specification = wrong tuning decisions

(changing a number of users)

21

Wrong workload specification = wrong tuning decisions

(transaction rate variation)

22

Servers, CPUs, and other building blocks of

application scalability

23

Application model with CPU and I/O subsystem

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

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

Fixing CPU bottleneck

by adding servers

26

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

Fixing I/O bottleneck

by adding disks

or using faster disks

28

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.

Modeling different application configurations

Accounting for the time on end-user computer

30

Modeling different application configurations

Remote terminal services

31

Modeling different application configurations

Load balancing and server farms

32

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:

leonid.grinshpan@oracle.com

34

top related