How to warm up an ASP.NET MVC application on IIS 7.5?

Microsoft has released a module that does exactly what you ask for. The Application Initialization Module for IIS 7.5 improves the responsiveness of Web sites by loading the Web applications before the first request arrives.

You can specify a series of Urls that IIS will preload before accepting requests from real users. I don’t think you can get a true user login expereince, but maybe you can set up simulated pages that does not require login that fulfills the same warmup you ask for?

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.

When IIS detects that an active worker process is being recycled, IIS does not switch active traffic over to the new recycled worker process until the new worker process finishes running all application initialization Urls in the new process. This ensures that customers browsing your website don’t see application initialization pages once an application is live and running.

This IIS Application Initialization module is built into IIS 8.0, but is available for download for IIS 7.5.

Leave a Comment