8.4. Capacity Planning

During the development of most web applications, not enough thought is given to the capacity for the given application. Units such as bandwidth, database size, memory, disk usage, and server load all play a big role when it comes to capacity planning.

Essentially capacity planning is having the necessary metrics to enable teams to effectively increase the scalability of web applications.

8.4.1. Predicting Failure

Knowing when and where your web application will fail is a very important metric when it comes to capacity planning. Stress tests are similar to load tests as in they use the same tools, but whereas the goal of load testing is to ensure the application meets the performance requirements, the goal of stress testing is to find out under what type of load the web application will start to fail to meet the performance requirements. After you have this metric you can then start capacity planning.

8.4.2. Capacity Planning Goals

During the collection of performance requirements, developers/testers will collect the expected metrics on how the system should perform. This process will also collect capacity goals such as how many users should be expected during the first year the application is launched.

8.4.2.1. Example Goals

Here are some example goals for you to consider:

  • Adding a new web server will increase the amount of users by X.

  • Adding X amount of bandwidth will decrease response times by Y.

  • Moving the SQL Server off the web server will decrease ...

Get Testing ASP.NET Web Applications now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.