The Server Fault community generally can’t help you with capacity planning – the best answer we can offer is “Benchmark your code on hardware similar to what you’ll be using in production, identify any bottlenecks, then determine how much of a workload your current hardware can handle, and/or how much hardware horsepower you need to handle your target workload”.
There are a number of factors at play in capacity planning which we can’t adequately assess on a Question and Answer site:
- The requirements of your particular code/software
- External resources (databases, other software/sites/servers)
- Your workload (peak, average, queueing)
- The business value of performance (cost/benefit analysis)
- The performance expectations of your users
- Any service level agreements/contractual obligations you may have
Doing a proper analysis on these factors, and others, is beyond the scope of a simple question-and-answer site: They require detailed knowledge about your environment and requirements which only your team (or an adequately-compensated consultant) can gather efficiently.
Some Capacity Planning Axioms
- RAM is cheap
If you expect your application to use a lot of RAM you should put in as much RAM as you can afford / fit. - Disk is cheap
If you expect to use a lot of disk you should buy big drives – lots of them.
SAN/NAS storage is less cheap, and should also usually be spec’d large rather than small to avoid costly upgrades later. - Workloads grow over time
Assume your resource needs will increase.
Bear in mind that the increase may not be symmetrical (CPU and RAM may rise faster than disk), and it may not be linear. - Electricity is expensive
Even though RAM and disks have decreased in price considerably, the cost of electricity has gone up steadily. All those extra disks and RAM, not to mention CPU power, will increase your electricity bill (or the bill you pay to your provider). Plan accordingly.