IIS Application Pools Pros and Cons
In this article we are going to see the IIS Application Pools Pros and Cons, before we start lets start what is Application pool identity, it is the name of the service or user account under which the application pool’s worker process runs. It denotes the system level privileges with which the web application runs on the IIS server. By default, starting in IIS 7.5 an application pool runs under the built-in ApplicationPoolIdentity account.
Pros / Advantages
- Applications are isolated from each other, unless IIS goes with it, an app pool locking will only take out applications in that pool.
- Ability to run applications under different ASP.NET runtimes, one pool for 1.1 another for 2.0 if needed
- Can secure pools from each other in regards to file access, great for third party, or untrusted applications as they can run under a very restrictive user account.
Cons / Disadvantages
- Each application pool has its own bank of memory and its own process, therefore CAN use more resources.
- It may become hard to debug and troubleshoot the application as you have multiple processes.
- Difficult to maintain pools if dedicated application pool is created for each application, though the configuration for these applications are similar.
Best Practices
- Use application pool only if the application is critical or important.
- For small or non-critical web applications no need for creating a separate application pool.
- Use a dedicated application pool for a site if it will be configured to run on a web garden or web farm.
- If multiple applications need similar settings which is different from default IIS settings, then use a common application pool for all the applications.