Best way to determine the number of servers needed Best way to determine the number of servers needed asp.net asp.net

Best way to determine the number of servers needed


What you need is some info on Capacity Planning..

Capacity planning is the process of planning for growth and forecasting peak usage periods in order to meet system and application capacity requirements. It involves extensive performance testing to establish the application's resource utilization and transaction throughput under load. First, you measure the number of visitors the site currently receives and how much demand each user places on the server, and then you calculate the computing resources (CPU, RAM, disk space, and network bandwidth) that are necessary to support current and future usage levels.


If you have access to some profiling tools (such as those in the Team Suite edition of Visual Studio) you can try to set up a testing server and running some synthetic requests against it and see if there's any specific part of the code taking unreasonably long to run.You should probably check some graphs of CPU and memory usage over time before doing this, to see if it can even be that. (A number alike to the UNIX "load average" could be a useful metric, I don't know if Windows has anything like it. Basically the average number of threads that want CPU time for every time-slice.)

Also check the obvious, that you aren't running out of bandwidth.


Measure, measure, measure. Rico Mariani always says this, and he's right.

Measure req/sec, RAM, CPU, Sessions, etc.

You may come up with a caching strategy (Output caching, data caching, caching dependencies, and so on.)

See also how your SQL Server is doing... indexes are a good place to start but not the only thing to look at..