I am looking for some guidance on application pool usage within Server 08, IIS7 and .NET 2.0 (if it helps the server is a dual quad core xeon 2.6 with 8gb ram and fast HDD's)
On our server we have approximately 100 sites. They all use a common DLL and set of files. Each website is configured with locally relevant files in d:/webfiles/websitename/wwwroot/
Then each website has a virutal directory that maps to a d:/webfiles/common/ folder. The application runs locally and within the shared virtual directory.
All websites and virtual directories are currently using the same "Default Application" pool setup in IIS. We also have DLL's running the Global Assembly Cache, but I believe this is of no consequence here.
My question is, which is a better setup in terms of performance and resiliancy?
1 website = 1 application pool serving the local website and virtual directory?
Stick with current layout mapping all websites and VD's to the same Application Pool?
I know that each website and virtual directory must use the same app pool because of the way our virtual directory utilises session management with the Common directory. I am happy with running it 1 website, 1 app pool.
However, my thoughts are for every application/virtual directory running the Application Pool (whether individual or shared) must load into memory a copy of that DLL and other managed code. It must then also swap memory and process requests all inside the same shared piece of memory and worker process (possibly only utilising one CPU?).
Are there limitations on how many requests a single work process can handle, and would it be more efficient to let each website have its own worker process and utilise the 8 core's and 8gb of memory more efficiently? Would it make a difference?
Thanks for your help.