What Is Capacity Planning?

What Is Capacity Planning?
Capacity planning is the process of determining what type of hardware and software resources are required for running an application with a given user load at a satisfactory level of service. It is a continuous and iterative process that ensures that the required computing resources (primarily, hardware) for an application are available at the right time.
Capacity planning determines what your system needs (and when it needs it) to maintain performance in both steady-state and peak usage periods.
Capacity Planning involves designing your solution and testing the configuration, as well as identifying business expectations, periodic fluctuations in demand, and application constraints. You need to plan carefully, test methodically, and incorporate design principles that focus on performance. Before deploying any application into a production environment, the application should be put through a rigorous performance testing cycle.
While planning for capacity, always consider future growth requirements. It is important to determine future requirements, well in advance, so that necessary action can be taken to plan for, procure, and install the required resources. Besides ensuring that adequate resources are available for meeting the performance and scalability requirements, capacity planning can save considerable money and resources for the organization.

Purpose of Capacity
Planning Capacity planning is necessary for the following purposes:
1.      To achieve predictable and consistent performance
The load on a system may not always be uniform; it may at times low, high, to very high than normal anticipated Load. Capacity planning helps you provide users a satisfactory level of service at varying server loads.  If capacity is not planned, and if adequate resources are not available, users may experience significant variation in performance as the load varies. At very high loads, the system may run so slow that users cannot even use the system.

2.      To determine scalability characteristics
Capacity planning helps in determining the scalability characteristics of the application. If the available hardware resources are not adequate for the current load or if the load is expected to increase in future, we can estimate the additional hardware resources required to maintain or improve performance.

3.       To identify current capacity
Capacity planning helps in identifying limitations of the existing hardware.

4.      To estimate the additional hardware required to support increased demand
Capacity planning helps in estimating the additional hardware resources necessary for the increased load due to factors such as business expansion and changes in marketing strategy.


The following data must be recorded while running the tests:
Application behavior
– Concurrent user load
– Response time
– Throughput
Resource utilization
– CPU utilization
– Memory footprint
– Network utilization
– I/O utilization

Important Tests to run as part of Capacity Planning:
1.      Scalability Tests
Vertical Scalability (Scaling up)
Scaling the system by providing additional hardware resources on the
existing machines. For e.g. increasing the number of CPUs and/or memory on a
given server.
Horizontal Scalability (Scaling out)
Scalinge the system by distributing the load on more number of machines.
Usually this is achieved through the use of a load balancer that routes the traffic across multiple application clones running on separate physical servers.

2.      Stress Tests
3.      Load Tests


Comments

  1. Pretty good post about Software Testing Companies in New York. I just stumbled upon your blog and wanted to say that I have really enjoyed reading your blog posts Software Testing Companies in Los Angeles. Any way I'll be subscribing to your feed and I hope you post again soon. Absolutely fantastic posting! Software Testing Companies in Dubai Lots of useful information and inspiration, both of which we all need! Really appreciate your work.

    Consult today: Software Testing Services in San Francisco

    ReplyDelete

  2. Your blog has some excellent information; we appreciate you taking the time to share it with us. customer relationship management module in erp

    ReplyDelete

Post a Comment

Popular posts from this blog

How to use a value between two different threads in Jmeter

Steps to Analyze AWR Report in Oracle

Correlation and checking in Results