Presentation challenges widely accepted IT optimization practice as insufficient vehicle to deliver satisfactory performing enterprise applications that first and foremost have to meet their business user’s expectations in regard to service quality.
Scaling API-first – The story of a global engineering organization
Beyond IT optimization there is a (promised) land of application performance management
1. Beyond IT optimization there
is a (promised) land of
<Insert Picture Here>
enterprise applications
performance management.
How to get there?
Share to LinkedIn
Share to Facebook
Leonid Grinshpan, Ph.D.
Consulting Technical Director, Oracle Corporation Share toTwitter
Share to SlideShare
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 Applications Performance
Puzzles: Queuing Models to the Rescue”
http://www.amazon.com/Solving-Enterprise-
Applications-Performance-
Puzzles/dp/1118061578/ref=sr_1_1?ie=UTF8&
qid=1326814080&sr=8-1
https://www.amazon.com/author/leonid.grinshpan
2
3. Agenda
Presentation’s goal
IT optimization vs. enterprise application performance management
Enterprise applications and their queuing models
Why IT and enterprise application performance indicators collide ?
Collection of transactional data
Transaction response time and transaction profile
Software bottlenecks identification and analysis of their impact on
hardware utilization
Memory bottleneck due to memory limit
Memory bottleneck due to paging
Thread bottleneck identification
Take away from presentation
Contact author
3
4. Presentation’s goal
Presentation challenges widely accepted IT optimization
practice as insufficient vehicle to deliver satisfactory
performing enterprise applications that first and foremost
have to meet their business user’s expectations in regard
to service quality.
4
5. IT optimization vs. enterprise application
performance management
Performance indicators of IT departments and enterprise
applications differ - hardware utilization on one side and
transaction time on another; the perfect readings of the
former do not equate to business users satisfaction with
the latter
To implement enterprise application performance
management IT has to be fully skilled in two areas:
- Collection of transactional data
- Identification of software bottlenecks
5
6. Enterprise applications and their queuing models
Using queuing models of enterprise applications the following slides
demonstrate a significant impact of software bottlenecks on
hardware utilization and why ignoring the former leads to
mishandling the latter
6
7. What is enterprise application ?
Enterprise application from business user point of view is an
object that supports implementation of critical corporation’s
functions and includes three components:
- business oriented software
- hardware infrastructure
- operating systems
7
10. Queuing models of enterprise applications
• 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
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.
10
12. Mapping application into queuing model (continued 2)
The relationships between the components of a real system and the
components of its model
12
13. Mapping application into queuing model (continued 3)
Hardware server representation
Total time in node = time in waiting queue + time in processing unit
13
14. IT and enterprise application performance indicators
Performance indicators
IT Enterprise application
Hardware utilization Acceptable to business users
and throughput transaction time
14
15. Why IT and enterprise application performance
indicators collide ?
We analyze queuing model below to find the answer
Model of three-tiered application hosted on one hardware server
15
16. IT and application performance indicators for different
number of users
Transaction time and system Transaction time and server utilization
throughput
High hardware utilization and throughput are achieved
beyond transaction response time “breaking point”
16
20. Mining transactional data from enterprise
applications
• Profiling transaction using operating system monitors and utilities
• Analysis of application log files
• Deployment of transaction monitors
20
22. Software bottlenecks and traffic jam – what do they have
in common ?
Traffic jam at toll plaza Traffic jam is fixed by increasing a
number of approaching lanes
22
23. Model to analyse software bottlenecks
Model with CPU and I/O subsystem
23
25. Identification of a memory bottleneck due to
memory limit
To identify a bottleneck that is due to a preset application upper
memory limit we have to monitor system over period of time
when a number of users is increasing. A bottleneck is present if
the following conditions are observed as a number of users
grows:
1)memory allocated to application reached upper limit;
2)hardware is underutilized;
3)transaction response time is getting longer.
25
28. Identification of a memory bottleneck due to
paging
To identify a bottleneck that is due to a paging we have to
monitor system over period of time when a number of users is
increasing. A bottleneck is present if the following conditions are
observed as a number of users grows:
1) paging rate grows and then flattens out;
2) utilization of hardware components except I/O system goes
down;
3) I/O system utilization reaches maximum.
28
29. Software threads
Software thread is a sequence of application’s code statements that are
executed one by one by a CPU. A single threaded application can use
only one CPU; multithreaded application is able to create a few
concurrent code flows and to load a few CPUs at the same time.
29
30. Number of threads and CPU utilization
Transaction time and CPU utilization
when transaction uses 10 threads
Transaction time and CPU
utilization when transaction uses
2 threads
30
32. Thread bottleneck identification
Bottleneck due to insufficient number of threads is present if, as
workload increases:
1) transaction time steeply grows;
2) CPU and I/O system are underutilized;
3) application did not reach upper memory limit;
4) paging rate is flat or even goes down.
32
33. Take away from presentation
1. IT practice targeting hardware optimization does not deliver satisfactory
performing enterprise applications that first and foremost have to meet
user’s expectations in regard to service quality.
2. Performance indicators of IT departments and enterprise application differ
- hardware utilization on one side and transaction time on another; the
perfect readings of the former do not equate to user’s satisfaction with the
latter.
3. To implement enterprise application performance management IT has to
venture into two additional areas:
- Collection of transactional data (profiling transaction using
operating system monitors and utilities; analysis of application log
files; deployment of transaction monitors)
- Identification of software bottlenecks (ironically, being undetected,
they make IT to feel better because software bottlenecks bring down
hardware utilization which is main parameter of IT optimization
efforts.)
33
34. Take away from presentation (continued 2)
4. Transferring enterprise application from company’s IT department to
cloud maintained by third party makes application performance
management even more challenging because in order to monitor
transactions and identify software bottlenecks a cloud provider has to
know application functionality.
5. “Universal prescription” to satisfy demand for IT capacity by scaling its
hardware does not work when software bottlenecks are undetected. That
means a rumor of capacity planning death is greatly exaggerated
because “universal prescription” does not exist and permanently
evolving enterprise applications always will keep challenging capacity
experts.
34
35. Contact author
Want to know more about
enterprise applications performance management
and capacity planning?
Contact Leonid Grinshpan at 101capacityplanning@gmail.com
Share this presentation
Share to LinkedIn
Share to Facebook
Share toTwitter
Share to SlideShare
35