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:
- Edit %WINDIR%\system32\inetsrv\config\applicationHost.config
- In the
<applicationPools>
tag, find the relevant app pool of your site and add the attribute:startMode="AlwaysRunning"
. - Add the attribute
preloadEnabled="true"
, like this:<sites> -> <site> -> <application preloadEnabled="true">
Don't forget to backup the file before the changes.