How to keep the IIS Application Pools always awake
When working with “9 to 5” web applications you deal with idle time periods where the users submit few or no requests to specific services of your application. In that cases the first request landing to a service hosted on IIS will take much longer than usual because the service was in sleep mode for better management of resources.
We can avoid this behavior and keep our services in an always-running mode by applying the following three configurations in IIS:
Change the Start Mode option of your Application Pool
Navigate to the Advanced Settings of your Application Pool. Per default the following option is set to OnDemand, you will have to set it to AlwaysRunning:
Change the Idle Time-out value of your Application Pool
Per default the Idle Time-out (minutes) option is set to 20 minutes. Set it to 0.
Change the Preload Enabled option of your Website
The last setting you will have to change is the Preload Enabled option on the Advanced Settings of your Website: