Sunday, May 20, 2012

Capacity Planning





Performance tests
It is possible to achieve accurate performance prediction results by building a real environment with the expected number of users processing real applications using real data.

In the event of the non-availability of the production environment replica, a  set of vertical/horizontal  scalability tests will be carried out on a given application to determine the CPU/memory trends and this will not be linear. It has been proven that the polynomial/model can determined reliably if the environment can be mimicked up to 50%

When performance environment <50% of production

Linear Projection
A linear projection is anything from simple diagrams made with spreadsheets to more sophisticated methods. The accuracy bandwidth of projection tools is about 20% for utilization

CPU
·         CPU seconds per transaction =Number of CPU’s * CPU Utilization * 3600/Users*Transactions-per-hour-per-user
·         Estimated CPU Power = Users * Transactions-per-hour-per-user * CPU seconds per transaction/3600

Memory Sizing
·         Core system
o    AIX, daemons, and basic file systems
o    Uses a standard number
·         Per user memory
o    To run processes for users or batch tasks
o    Needs to be multiplied by the number of users in the system
o    Is best measured but can be guessed based on experience
·         Disks Cache
o    For database-like applications
o    Can be recommended by the vendor based on data volumes
o    Measured on other systems of similar data volumes
o    Estimated as a proportion of the data volumes
·         Application binary size
o    Should be measured
Disk Sizing

If disk I/O rates for the transaction are measured (either physical or logical), then the disk recommendation can be based on operations per second rather than purely on disk size. Disks have a known maximum operations per second value. This allows you to calculate the number of disks for a given workload.

Keep in mind that a bottleneck is not necessarily bad. While you will always have bottlenecks, and removing one creates another, removing a bottleneck improves performance. Other factors provide additional cushion.


Non-linear models
Analytic Models
Based on mathematical methods, such as the queuing theory, analytic methods can provide insight into forecasting CPU utilization, response time evaluation, capture ratios, effect of buffering, effect of queuing, and so forth. Based on measured data from today’s environment, various configurations and growth scenarios are studied and documented. Generally, analytic tools have an accuracy bandwidth between 8% to 15% for utilization. This depends on the scenario, level of detail, and provided data.


Discrete Models
A discrete method is an application of discrete simulation. Unlike analytic simulation, discrete simulation is not based on mathematical formulas. Using discrete capacity planning methods, dissimilar workloads and their effect on each other are modeled. Discrete simulation tools usually have an accuracy bandwidth of 5% to 10% for utilization. However, the accuracy may be more or less than 30% for response time. This depends on the scenario complexity and level of detail.

Must a model be perfectly accurate to be effective? Given the nature of modeling, the answer is No. The true value of modeling lies in its ability to effectively set expectations with the user community and management. It must explain what happened if there is a discrepancy between expectations and actual results. When planning decisions (selecting a new platform, acquiring more hardware, performance management and tuning decisions, etc.) are based on intuition, there is a high risk of performance surprises. Modeling helps to mitigate that risk.

Even when the results are not 100% accurate, the benefits of modeling are still tremendous:
  • Modeling can help you identify potential bottlenecks, evaluate different performance management and capacity planning alternatives, justify recommendations, and set realistic expectations.
  • Modeling reflects how sensitive performance is to proposed or expected workload and database size growth, scheduling changes, database and application tuning, or hardware configuration upgrades.
  • Performance prediction results provide a baseline for setting realistic expectations and improving the quality and effectiveness of proactive performance management.
  • Analysis of the trade-off and different alternatives presented are never perfect. However, models improve the level of understanding and communication between database administrators (DBAs), performance analysts, management, and users.
  • Models help to plan, manage, and control performance more effectively than intuition alone.

The following list classifies the good, bad and the ugly conditions from the utilization perspective
Good Bad and the Ugly

No comments:

Post a Comment