A lot of the articles online are very loyal to a configuration that suits their needs.
There are definitely many pros and cons. It is true that each application pool has a minimum footprint because it has to load it's own EXE and DLL's. I had a link once for the size of that footprint and couldn't find it. If I do I'll post it.
Multiple application pools only causes a performance penalty if your server is memory bound. In other words if you are using most of the server memory because not much is installed or there is high session consumption. If your server is CPU bound, more application pools can actually help. There is less thread collisions over multiple processes.
Ultimately more application pools can give you more control. For example, you could set CPU and memory boundaries to ensure a mission critical application gets the greatest share of resources. You would set memory and CPU maximums for the application pools that are low priority and no limits for the most important one.
Sometimes I use a separate application pool for a misbehaving application that leaks memory. I can cap it and control it more precisely. Another problem is a web application that doesn't trap all exceptions. The decay can cause issues with all applications that use the same pool.
Finally each application pool can use a different identity. For example, let's say you use a proxy server to expose a web site on an internal server. ISA 2006 is an excellent choice for this task. However, you might then use an application pool with weak guest permissions for the internet web application while you use a domain identity account an intranet application that isn't exposed.
Partager