I currently have 1 web app running on 2 dedicated servers (load balanced).
The web app serves dynamically generated ASP.NET pages (no db or photos).
Each server is dual quad core (8 cores total) with 8 GB of ram.
I have noticed that to get full use of resources of the machine and to get more threads and less contention, I need to make use of web gardens, so there are 8 instances of IIS worker process running on each server. (serving just 1 site)
Throwing more hardware at 1 server doesn't seems to help, I have 5 GB of unused ram, processor running at 70% and very low hard disk usage.
I need to add another server and with my hosting provider now offering cloud servers, I'm wondering if the could is the way to go?
I am thinking of replacing the 2 servers with 8 x 2core cloud instances to help distribute the load better and prevent me from having to run in web garden setup.
Is it better to have a small number of dedicated very powerful machines in a web garden setup
many instances of less powerful 'shared' servers distributing the load in a cloud setup?
(I am specifically thinking about threads and contention)