2. CAPACITY PLANNING
• The art of evaluating a technology against
the needs of an organization, and making an
“educated decision” about the procurement
of Hardware to meet the demands specific to
a system being installed
3. CAPACITY PLANNING
• Determining your goals
• Collecting metrics and finding your limits
• Plotting out the trends and making forecasts based
on those metrics and limits
• Deploying and managing the capacity
7. DATABASE SERVER (EXAMPLE)
• How do increases in database queries-per-second
affect the following?
– Disk utilization
– I/O Wait (percent of time the database waits due to
network or disk operations)
– RAM usage
– CPU usage
8. WEB SERVER (EXAMPLE)
• How do increases in web server requests-per-second
affect the following?
– Disk utilization
– I/O Wait
– RAM usage
– CPU usage
9. Collecting metrics and
finding your limits
“IF YOU DON’T HAVE A WAY TO MEASURE
YOUR CURRENT CAPACITY, YOU CAN’T
CONDUCT CAPACITY PLANNING—you’ll
only be guessing”
10. MEASUREMENT: UNITS OF CAPACITY
• For capacity planning, your measurement
(monitoring) tools should provide, at minimum, an
easy way to:
– Record and store data over time
– Build custom metrics
– Compare metrics from various sources
– Import and export metrics
11. MEASUREMENT: METRIC
• Measure and record the server’s primary function.
– Examples: Apache hits, database queries
• Measure and record the server’s fundamental hardware
resources.
– Examples: CPU, memory, disk, network usage
• Determine how the server’s primary function relates to its
hardware resources.
– Examples: n database queries result in m percent CPU usage
• Find the maximum acceptable resource usage (or ceiling)
based on both the server’s primary function and hardware
resources by one of the following:
– Artificially (and carefully) increasing real production load on the server
through manipulated load balancing or application techniques.
– Simulating as close as possible a real-world production load.
12. Plotting out the trends
and making forecasts
based on those metrics
and limits
“it’s impossible to accurately predict the
future”
13. PLOTTING AND FORECAST
• Determine, measure, and graph your defining metric
for each of your resources.
– Example: disk consumption
• Apply the constraints you have for those resources.
– Example: total available disk space
• Use trending analysis (curve fitting) to illustrate when
your usage will exceed your constraint.
– Example: find the day you’ll run out of disk space
15. AUTOMATED DEPLOYMENT
PHILOSOPHIES
• Automated Deployment Philosophies
– Goal: Minimize Time to Provision New Capacity
– Goal: All Changes Happen in One Place
– Goal: Never Log In to an Individual Server (for
Management)
– Goal: Have New Servers Start Working Automatically
– Maintain Consistency for Easier Troubleshootin
• Automated Installation Tools
• Automated Configuration