Warming up an IIS Application Pool automatically?

I have answered a similar on StackOverflow.

Microsoft moved the warmup feature to IIS 8, but they have also released the Application Initialization Module for IIS 7.5 as a separate download.

The feature I think is most compelling is that this module also enables overlapped process recycling. The following tutorial from IIS 8.0 include a step-by-step approach on how to enable overlapped process recycling.


How about the Autostart feature - does that accomplish what you're looking for? Short of that, you could script something in the OS startup to make that first HTTP call on server startup - you'd want the script to know that (or wait for) IIS is up and responding before firing the request. Here's some ideas for those scripts. In fact, there's a lot more content for this topic over on SO than here on SF.


You can follow these steps:

  1. Edit %WINDIR%\system32\inetsrv\config\applicationHost.config
  2. In the <applicationPools> tag, find the relevant app pool of your site and add the attribute: startMode="AlwaysRunning".
  3. Add the attribute preloadEnabled="true", like this: <sites> -> <site> -> <application preloadEnabled="true">

Don't forget to backup the file before the changes.