<Insert Picture Here>
Introduction to enterprise applications capacity planning
using queuing models
Leonid Grinshpan, Ph.D.
Consulting Technical Director
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.
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
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
5
Section 1
DO WE REALLY NEED MODELING FOR
CAPACITY PLANNING?
Can we just go by our gut feeling?
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
7
Quiz 1. Ticket reservation application (cont)
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
9
Quiz 2. Ticket reservation and on-line payment
applications (cont)
10
Section 2
METHODOLOGY OF ENTERPRISE
APPLICATIONS CAPACITY PLANNING
11
Generalized enterprise application architecture
12
What is a main application performance indicator
from the users perspective?
13
Mapping application into queuing model
Hardware server representation
Total time in node = time in waiting queue + time in processing unit
14
Mapping application into queuing model (cont 2)
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
16
Transaction response time and transaction profile
Transaction time is a time spent in “cloud”
17
Transaction response time and transaction profile (cont 2)
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
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
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/.
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
22
Definition of workload and transaction profile in
JMT
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
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%
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
26
Section 3
SOLVING MODELS AND EVALUATING
WHAT-IF SCENARIOS
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
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
29
Building and solving models using commercial
products (cont 2)
Specification of hardware servers
Description of business transactions
30
Building and solving models using commercial
products (cont 3)
Transaction profiles
31
Building and solving models using commercial
products (cont 4)
Description of users
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 (%)
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
34
Analysis of what-if scenarios
Faster Application server
All three servers are faster
35
Analysis of what-if scenarios (cont 2)
Transaction time (seconds)
Baseline system
Transaction time (seconds)
System with fast Application server
36
Analysis of what-if scenarios (cont 3)
Transaction time (seconds)
System with fast Application server
Transaction time (seconds)
System with three fast servers
37
Analysis of what-if scenarios (cont 3)
Utilization of system servers (%)
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?
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: