One of our server administrators set up 1 web site per web application. This is mainly to have different host headers per application. (We also create DNS entries per application, allowing the web application to be moved across servers without having to change links or bookmarks.) Is there any overhead or performance issues in doing this?
In other words, are there any major issues with having 500 websites with 1 web application each instead of 1 web site with 500 web applications?
EDIT:
Let's assume each web site always has its own application pool. My question is really:
Is a web site just another configuration option with no overhead, or does creating many web sites decrease performance? (at all, even if it is minuscule?)
No, there is no performance difference between 1 site with 500 applications and 500 sites each with 1 application. Think of it like the difference in XML between tags and attributes -- just a matter of preference on how you like to structure the same data.
This can be a good thing. If all of your WebSites are using the same AppPool and one of the sites is a leaking memory, or buggy, then that AppPool will be recycled and all of your WebSites will be affected.
If you separate your WebSites into multiple AppPools then this mitigates that issue.
Major hosting sites like http://www.discountasp.net/ run each WebSite in a seperate AppPool.
Keith
Depends on the performance requirements and number-crunchiness of the websites. A better solution might be to set your number to around 4-16 and virtualize them, but on beefier physical boxes.
Monitoring becomes critical when you run multiple apps from the same server/cluster. You have to be on top of the CPU % and utilized page pool. When it starts to hover above half, you want to upgrade or offload some of the beefier apps onto dedicated boxes.