(ERP, MRP) - Capacity Planning
(ERP, MRP) - Capacity Planning
(ERP, MRP) - Capacity Planning
A STEP-BY-STEP
APPROACH TO CAPACITY
PLANNING
IN CLIENT/SERVER
SYSTEMS
5.1 Introduction
Planning the capacity of a C/S system requires that a series of steps be followed in a
systematic way. This chapter starts by providing a clear denition of what adequate
capacity means. It then presents a methodology that leads the capacity planner, in
a step-by-step fashion, through the process of determining the most cost-eective
system conguration and networking topology. Investment and personnel plans
follow as a consequence. The main steps of the methodology are: understanding
the environment, workload characterization, workload model validation and calibra-
tion, performance model development, performance model validation and calibra-
tion, workload forecasting, performance prediction, cost model development, cost
prediction, and cost/performance analysis.
The methodology presented here requires the use of three models: a workload
model, a performance model, and a cost model. The workload model captures the
resource demands and workload intensity characteristics of the load brought to the
system by the dierent types of transactions and requests. The performance model
is used to predict response times, utilizations, and throughputs, as a function of the
system description and workload parameters. The cost model accounts for software,
hardware, telecommunications, and support expenditures.
This chapter draws in part on material presented in [7] and Chap. 2 of [8]. Vari-
ous steps of the methodology are discussed in further detail in subsequent chapters.
100
Section 5.2. Adequate Capacity 101
5.2 Adequate Capacity
Many organizations invest millions of dollars to build client/server computing envi-
ronments and many millions more to maintain and update the environment. In most
cases, the overall capacity of the environment is unknown and capacity planning
and procurement is done without a dened methodology. To complicate matters,
the notion of what is adequate capacity is not well understood in many cases.
Figure 5.1 illustrates the three main elements used to dene adequate capacity
of a C/S system:
Service-level agreements (SLAs). Adequate capacity has to be provided so
that acceptable or desirable values for performance metrics such as response
time or throughput can be achieved. Examples of SLAs include: \response
times for trivial database queries should not exceed two seconds," \response
times for database searches performed through the Web front-end should not
exceed three seconds," \the NFS server should be able to support at least
10,000 NFS I/O operations per second with response times not exceeding 0.1
sec." The values of SLAs are specic to each organization and are determined
by both management and users. Even when SLAs are not formally dened,
it is possible to determine a level of acceptable service when users start to
complain about poor performance.
Specied technologies and standards . Providing adequate capacity to meet
service-level agreements can be done in many ways by using servers and op-
erating systems of various types and many dierent networking topologies.
For example, it is possible for a Windows NT-based le server running on a
PC-based machine to deliver the same performance as a Unix-based le server
running on a RISC machine. Some organizations may prefer to use one ver-
sus the other for reasons that are not directly related to performance (e.g.,
ease of system administration, familiarity with the system, and number and
quality of possible vendors for the underlying hardware). Users and manage-
ment may also choose to adopt certain standards for network protocols (e.g.,
TCP/IP) and middleware, further restricting the set of solutions that can be
used. Thus, users and management may specify that adequate capacity be
provided with certain specied technologies and standards for reasons other
than performance.
Cost constraints . The problem of providing adequate capacity to meet SLAs
would be somewhat easier to solve if one had unlimited monetary resources.
Budget constraints are determined by management and limit the space of
possible solutions. Expenditures for C/S systems include startup costs and
operating costs for a dened period. Startup costs include purchase expen-
ditures for hardware and software, installation costs, personnel costs, and
initial training. Operating costs include hardware and software maintenance,
telecommunications costs, and personnel costs required to maintain the sys-
tem. Amortization costs may be included if they are incurred.
A Step-by-Step Approach to Capacity Planning
102 in Client/Server Systems Chapter 5
Users
e.g., NT servers
Specified
TCP/IP Adequate
Technologies
Capacity
and Standards
Management
Cost
Constraints e.g., startup cost < $5.5 million
maintenance cost < $1.6 million/yr
We say then that a C/S system has adequate capacity if the service-level agree-
ments are continuously met for a specied technology and standards, and if the
services are provided within cost constraints.
Workload Characterization
Development of
Workload Model Validation Workload
a Cost Model
& Calibration
Model
Workload Forecasting
Cost Model
Performance Model
Development
Performance Prediction
Cost/Performance Analysis
file server
50 Unix workstations
10 Mbps
Ethernet ftp proxy server
LAN 2
LAN 3 telnet proxy server
Web proxy server
e-mail server
file
server
FDDI ring 100 Windows NT clients
100 Mbps
120 LAN 5
Windows NT Internet
clients LAN 1
10 Mbps
LAN 4 Ethernet
16 Mbps
Token
Ring 100 Windows NT
clients
file SQL
server server
RAID-5 disks and a capacity of 512 Gbytes. LAN 3 runs an ftp proxy server, a
telnet proxy server, a Web proxy server, and the e-mail server on a Windows NT
server-based dual processor high-end PC-based machine. This LAN supports 100
Windows NT clients. Finally, LAN 4 has a Windows NT-based le server and
an SQL database server running Oracle to support enterprise-wide mission-critical
applications. This LAN has 100 Windows NT-based clients. BEA's Tuxedo [1] is
used as a Transaction Processing (TP) Monitor to support client/server transaction
management.
Applications. Workstations on LAN 2 are mostly used by researchers of the
R&D department engaged in running computer simulations of molecular biology
experiments. These researchers store all their les in the le server in LAN 2. They
use e-mail, ftp, telnet, and Web services from the proxy server on LAN 3. Clients
on LANs 1, 3, and 4 split their time between running oce automation applica-
tions (e.g., word processing, spreadsheets, and presentation preparation packages)
and running various types of client/server transactions to support sales, marketing,
personnel, accounting, and nancial activities. These C/S transactions use a TP
monitor and the SQL server on LAN 4. All users in LANs 1, 3, and 4 read e-mail
and access the Web through the proxy server on LAN 3. The company's employees
go through Web-based training courses hosted at the server on LAN 3. Most of the
accesses to these applications come from clients on LANs 1, 3, and 4.
Network connectivity and protocols. The network connectivity map is
Section 5.4. Understanding the Environment 105
given in Fig. 5.3. The Internet and transport protocols used throughout all networks
is TCP/IP.
Service-level agreements. There are no formal SLAs established, but users
start to complain if response times exceed 2 sec for trivial C/S transactions and 5
sec for the more complex transactions. Response times at e-mail and Web services
has not been a problem.
LAN management and support. Each of the four user LANs (LANs 1{4)
have a dedicated team of LAN and system administrators. The number of system
administrators for each of these LANs is 6, 3, 5, and 6, respectively. There is also a
Database Administrator (DBA) for the database managed by the SQL server and
three network specialists that constantly monitor the performance on the FDDI ring
and are responsible for overall network management functions such as assigning IP
addresses to subnetworks, managing routing tables, maintaining network security,
and verifying the connection to the Internet.
Procurement procedures. As an example, procurement decisions could be
made by an Information Technology Committee, headed by the Chief Information
Ocer (CIO) of the company and composed of four user representatives and four
system administrators (one from each LAN), which reviews applications for hard-
ware and software upgrades. Decisions are made based on budget availability and
on how well the requests are justied. The average procurement cycle for items
A Step-by-Step Approach to Capacity Planning
106 in Client/Server Systems Chapter 5
over $5,000 is 2 mo. Expenditures below $5,000 can be made using a much faster
procedure that takes two business days on the average.
Global Workload
... ...
basic basic basic basic
component 1.1 component 1.m component n.1 component n.k
(e.g., personnel (e.g., sales (e.g., corporate (e.g., use of search
transactions) transactions) training) engines)
200
180 cluster 2
160
140
CPU Time (msec)
120
100
average over
80 all points
60
cluster 1
40
cluster 3
20
0
0 5 10 15 20 25 30 35 40 45
No. I/Os
Figure 5.5. Space for workload characterization (no. of I/Os, CPU time).
as the point whose coordinates are the average among all points in the cluster. The
\distance" between any point and the centroid of its cluster is the shortest distance
between the point and the centroid of all clusters. The coordinates of the centroids
of clusters 1, 2, and 3, are (4.5, 19), (38, 171), and (39, 22), respectively. A more
compact representation of the resource consumption of the 20,000 transactions is
given by the coordinates of centroids 1, 2, and 3. For instance, transactions of class
1 perform, on the average, 4.5 I/Os and spend 19 msec of CPU time during their
execution.
The graph in Fig. 5.5 also shows the point whose coordinates, (28, 68), are the
average number of I/Os and the average CPU time over all points. It is clear that if
we were to represent all the points by this single point|the single cluster case|we
would obtain a much less meaningful representation of the global workload than the
one provided by the three clusters. Thus, the number of clusters chosen to represent
the workload impacts the accuracy of the workload model.
Clustering algorithms can be used to compute an optimal number of basic com-
ponents of a workload model, and the parameter values that represent each com-
ponent. A discussion of clustering algorithms and their use in workload characteri-
zation is presented in Chap. 6.
Section 5.5. Workload Characterization 109
5.5.2 Data Collection Issues
In ideal situations, performance monitors and accounting systems are used to de-
termine the parameter values for each basic component. In reality, the tool base
required for integrated network and server data collection may not be available to
the system administrators, or they may not have enough time to deploy and use a
complete suite of monitoring tools. This is a chronic problem for many organiza-
tions. The problem is compounded by the fact that most monitoring tools provide
aggregate measures at the resource levels (e.g., total number of packets transmitted
on a LAN segment or total server CPU utilization). These measurements must be
apportioned to the basic workload components. Benchmarks and rules of thumb
(ROTs) may be needed to apportion aggregate measures to basic components in lieu
of real measurements. Figure 5.6 illustrates the range of data collection alternatives
available to a capacity manager.
In many cases, it is possible to detect a fairly limited number of applications
that account for signicant portions of resource usage. Workload measurements can
be made for these applications in a controlled environment such as the one depicted
in Fig. 5.7. These measurements must be made separately at the client and at the
server for scripts representing typical users using each of the applications mentioned
above. These measurements are aimed at obtaining service demands at the CPU
and storage devices at the client and server as well as number of packets sent and
received by the server and packet size distributions. The results thus obtained for a
specic type of client and server must be translated to other types of clients and/or
servers. For this purpose, we can use specic industry standard benchmarks, such
as SPEC ratings, to scale resource usage gures up or down.
Example 5.1: Assume that the service demand at the server for a given appli-
cation was 10 msec, obtained in a controlled environment with a server with a
SPECint rating of 3.11. To nd out what this service demand would be if the
server used in the actual system were faster and had a SPECint rating of 10.4, we
need to scale down the 10 msec measurement by dividing it by the ratio between
the two SPECint ratings. Thus, the service demand at the faster server would be
10=(10:4=3:11) = 3:0 msec. Of course, the choice of which benchmark to use to
dedicated
client running server
script for
application A
performance performance
monitor monitor
performance
monitor
Dedicated LAN
Actual Synthetic
Workload Workload
NO Model
acceptable?
Calibration
YES
Example 5.2: Consider the C/S transactions in the example of Fig. 5.3. Assume
that we plot the number of invoices issued for each of the past 6 mon, months
numbered 1{6, as depicted in Fig. 5.9. By using linear regression, we can establish
a relationship between the number of monthly invoices and the month number. In
this example,
NumberInvoices = 250 Month + 7; 250:
If we now need to forecast the number of invoices for the next month, we can
use the above linear relationship to predict that 9,000 invoices will be issued next
month. The number of invoices can be associated with the number of transactions
of various types submitted to the database server. We can use regression techniques
(see Chap. 11) to establish relationships between the number of invoices and the
number of C/S transactions of various types, such as sales, purchase requisition,
marketing, and nance. These relationships allow us to predict the arrival rate of
these types of transactions. For example, if each invoice generates, on the average,
5.4 sales transactions, we can predict that next month, the database server will
receive 9; 000 5:4 = 48; 600 sales transactions. If we divide this amount by the 22
working days of a month and by the 8 business hours of a day, we get an arrival
rate of 276 sales transactions/hour.
Chapter 11 discusses workload forecasting techniques, such as moving averages,
exponential smoothing, and linear regression, in detail.
10,000
historical data
9,000
8,000
forecast point:
(7, 9,000)
7,000
Number of Invoices
Trendline:
6,000 No. Invoices = 250 * Month + 7,250
5,000
4,000
3,000
2,000
1,000
0
1 2 3 4 5 6 7
Months
include the CPU time of transactions at the database server, the total
transmission time of replies from the database server in LAN 4, and the
total I/O time at the Web proxy server for requests of images and video
clips used in the Web-based training classes.
Performance prediction requires the use of models. Two types of models may
be used: simulation models and analytical models. Both types of models have to
consider contention for resources and the queues that arise at each system resource|
CPUs, disks, routers, and communication lines. Queues also arise for software
resources|threads, database locks, and protocol ports.
The various queues that represent a distributed C/S system are interconnected,
giving rise to a network of queues, called a queuing network (QN). The level of detail
at which resources are depicted in the QN depends on the reasons to build the model
and the availability of detailed information about the operation and availability of
detailed parameters of specic resources.
Example 5.3: To illustrate the above concepts we will use the notation introduced
in Chap. 3 to show two versions|a high level and a more detailed level|of the QN
model that corresponds to LAN 3 in Fig. 5.3, its Web server, its 100 clients, and
the connections of LAN 3 to the Internet and to the FDDI ring. Figure 5.10 depicts
a high-level QN model for LAN 3. The 10 Mbps LAN is depicted as a queuing
resource and so is the Web server. The set of 100 Windows clients is depicted as
a single delay resource because requests do not contend for the use of the client;
they just spend some time at the client. The FDDI ring and the Internet are not
explicitly modeled as this model focuses on LAN 3 only. However, trac coming
from the FDDI ring and from the Internet into LAN 3 has to be taken into account.
Note that the model of Fig. 5.10 hides many of the details of the Web server.
As mentioned in Sec. 5.4, the Web server runs on a dual processor machine. Thus,
a more detailed representation of the QN model would have to include the server
FDDI
LAN 3
FDDI
LAN 3
disks
100 Windows
clients
Internet CPUs
Web server
Low High
Real Performance
System Model
Measurements Calculations
NO Model
acceptable?
Calibration
YES
business applications
antivirus software
security and intrusion detection software
software development
vendor software maintenance and upgrades
Telecommunication costs include charges for
WAN services (e.g., Frame Relay, X.25 networks, T1, T3, ISDN)
Internet Service Providers
Support costs include
salaries, fringes, and benets of all system administrators, database adminis-
trators, LAN, and Web administrators
help desk support costs which includes salaries, fringes, and benets of help
desk sta, and their infrastructure (e.g., computers, servers, and phones)
training costs for support sta (includes travel and time o for training
courses)
network management hardware and software
performance monitoring software
More than one survey [2], [4] indicates that personnel costs account for a large
percentage|between 60 and 70%|of client/server costs. One can be as detailed as
required when accounting for costs. This increases the accuracy of the cost assess-
ment at the expense of the time and eort needed to obtain all needed information.
Alternatively, one can use more aggregated cost models that account for most of the
cost elements with a reasonable degree of accuracy. When some of the cost elements
are not known precisely, one can use Rules of Thumb (ROTs) to obtain a rst-cut
approximation to the cost model. Examples of cost ROTs are: hardware and soft-
ware upgrade is 10% of the purchase price per year, system administrator costs lie
between $500 and $700 per client per month, training costs range from $1,500 to
$3,500 per technical sta person per year, 40% of personnel costs are in the resource
management category, 40% are in applications development and maintenance, and
20% in other personnel [3], [4].
An MS Excel spreadsheet, called Cost.XLS, included in the accompanying disk,
provides a template for computing startup and operating costs for C/S systems.
Section 5.9. Cost/Performance Analysis 119
5.9 Cost/Performance Analysis
Once the performance model is built and solved and a cost model developed, vari-
ous analyses can be made regarding cost-performance tradeos. The performance
model and cost models can be used to assess various scenarios and congurations.
Some example scenarios are, \Should we mirror the Web server to balance the load,
cut down on network trac, and improve performance?" \Should we replace the
existing Web server with a faster one?" \Should we move from a two-tier C/S
architecture to a three-tier one?" For each scenario, we can predict what the per-
formance of each basic component of the global workload will be and what the costs
are for the scenario.
The comparison of the various scenarios yields a conguration plan, an invest-
ment plan, and a personnel plan. The conguration plan species which upgrades
should be made to existing hardware and software platforms and which changes in
network topology and system architecture should be undertaken. The investment
plan species a timeline for investing in the necessary upgrades. The personnel plan
determines what changes in the support personnel size and structure must be made
in order to accommodate changes in the system.
Some people favor the exclusive use of Return on Investment (ROI) analyses
to assess the payback of migrating to a C/S system. These analyses have the
drawback of looking only at the economic aspect of the issue. Other people decide
to invest in client/server systems because they see them as a necessary ingredient
of a company's business strategy, an enabling factor to improve customer service
and product quality, and to shorten time to market of new products.
120