Date post: | 29-Jun-2015 |
Category: |
Technology |
Upload: | leonid-grinshpan-phd |
View: | 1,200 times |
Download: | 0 times |
<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:
34