I’m working on a solution architecture for a new system that will host a WCF web service across multiple IIS7 VMs. Question is, would I be better to specify 2 VMs each with 4 CPUs or 4 VMs each with 2 CPUs.
It would be cheaper to go for smaller number of VMs each with higher number of CPUs because we wouldn’t have to pay for so many windows licenses.
The WCF service will be quite busy, process up to about 4,000 requests per minute which it will fulfill by making a SQL Server 2008 stored proc call.
Does anyone know of a good link describing when IIS7 should be scaled out vs scaled up?
Thanks
Rob.
For starters, I would like to introduce the following presentation to you: http://www.slideshare.net/brianritchie1/scaling-out-net. It describes realistic approaches on scaling your system with IIS7. But it does not handle scaling up your system …
For scaling up, you can refer to some Microsoft report on eating its own dogfood when migrating MSDN and TechNet on Hyper-V virtual machines: http://virtualization.info/en/news/2008/05/microsoft-migrates-msdn-and-technet-on.html. Some nice performance graphs and numbers in the embedded report there. Also visit http://viisual.net/Configuration/IIS6WebGardening.htm on webgardens for a very detailed dicussion on the use of scaling up your IIS system using app pool processor affinity.
In general, my impression of related material is that it is more common to scale out than to scale up. This has multiple advantages over scaling up, next to performance, also related to high-availability. The out scaling scenario is also very well supported by hard-, middle- and software suppliers. Up scaling seems to give more of an uncertain outcome to the overall system improvement.