Application pool is a way to manage multiple web applications under IIS server. App pools allows you to isolate applications with different security controls from one another. It helps you to manage your applications separately.
IIS Worker Process
Is a Windows process (w3wp.exe) which runs web applications. It is responsible for handling requests for a specific application pool. App pool can contain more than one worker process. This is known as web farm or web garden. Read here
Application Pool Recycling
To make the application running smooth without memory leaks you need to recycle the application pool. Any code which failed to implement IDisposable would run finalizers which will release resources.
- See why recycle an app pool (SO) and why app pools need to be recycled (SO).
- Difference between Private Memory limit and virtual memory limit
- Idle timeout vs Recycling
Identity
Configures application pool to run as built-in account. See Application Pool Identities - IIS.NET and IIS Permission Overview - SO. See Assign Permission to ApplicationPoolIdentity - Serverfault.
Application Pool Settings (General)
- .NET CLR Version
- This should correspond to appropriate version of .NET framework version of your application
- Managed Pipeline Mode
- Queue Length
- Max No. of requests HTTP.sys will queue for the app pool. When queue is full you'll get 503 "Service Unavailable" error
- Start Mode : OnDemand or Always Running. See (SimpleTalk - Speeding up your application with Auto-Start feature)
Resources