Capacity Planning Flashcards
What are the common mistakes regarding capacity planning?
No standard definition of capacity
Different capacities for the same system
No standard workload unit
Forecasting future applications and workloads is difficult
No uniformity among system vendors
Model inputs cannot always be measured
Performance is only a small part of the problem
How is it possible to monitor a system and what is it monitored (inputs or outputs)?
To monitor a system, it is important to ensure appropriate counters in the system to record resource usage. We can either take advantage of the counters already built in the OS or the applications or implement our own. These counters should focus on data collection, not on data processing, and should measure system inputs, not outputs, since those are dependent on the system configuration itself.
What are the drawbacks or potential ones, when building a monitoring system?
The logging process should have as little impact as possible in resource usage and in the SUT.
Don’t capture all data if only a portion of it is important, and it should be stored in different disks to avoid interferences.
What are the common mistakes when characterizing a workload?
Only having average behavior represented in the workload. The variance is ignored.
Inappropriate loading level.
Buffering sizes are not appropriate.
Caching effects ignored.
Ignoring monitoring overhead.
Collecting too much data but doing very little analysis.
Regarding capacity planning, what are the approaches studied to predict performance, and what is their difference?
USL analysis: Predicts how much the system can grow to accommodate future demand.
Regression Analysis: Predicts how much the system needs to grow to accommodate current demand, or how future demand will evolve (depending on whether we want short or long term).
Explain what is the rule of thumb concerning performance prediction using USL.
It is related to the difference between nominal vs usable capacity.
Suspect predictions that double predicted throughput with respect to measured throughput, and suspect predictions that double predicted size with respect to the measured size.
Response time degrades significantly between usable capacity and nominal capacity. Even if the system can achieve the predicted nominal throughput users, will not want to use it because the response time will be very large.
Regarding the rule of thumb, explain what should be the procedure for analyzing a system’s performance using USL.
Compute USL model.
Determine nominal throughput.
Determine acceptable response time.
Determine corresponding useful throughput.
Determine useful system size: take in mind the rule of thumb (If predicted size or throughput is more than the double of measured, cap it at the double).
What is Compute Effective Demand (Ueff)? And how is it calculated?
Measures the work that could have been serviced if more capacity was available.
If, for example, Ueff = 167%, the work could have been served by more 2/3 servers.
For short term it is calculated as follows, Ueff = a1.X1 + a2.X2 + an.Xn + B. Where, a and B are regression coefficients and Xn represents metrics relevant to the system.
For long term we can use an exponential model to predict the effective demand, for example in weak w: Uw = U0.e^(growth-rate*w)
Refer to one key requirement to predict performance using a regression. Without that, the results are invalid.
Regression assumes the bottleneck remains the same as more work is added. If adding more capacity to the system shifts the bottleneck to other system components, results are invalid.
What is the systematic approach for capacity management and planning?
Approach is the same for capacity management and planning:
- Instrument the system.
- Monitor system usage.
- Characterize workload.
- Predict performance under different alternatives.
- Select the lowest cost, highest performance alternative.
For capacity management, the current configuration and workload are input into a tuning model
For capacity planning, first the workload is forecasted based on long-term monitoring of the system. Then different configuration alternatives and future workloads are input to a model that predicts performance
What is capacity management?
Ensure currently available resources are used to provide the highest performance, alternative is Performance Tuning
Concerned about the present
What is capacity planning?
Ensuring that adequate resources will be available to meet future workload demands, alternative is Procuring more resources.
Concerned about the future
In the predict performance step, what model is used in the regression analysis approach?
Short-term -> Effective demand model
Long-term -> Exponential model