The IIS 7.5 Application Warm-Up Module

IIS is a demand-driven web server, i.e. IIS does things only when asked for. For example: an IIS worker process spawns up only when requests arrive for the sites that are hosted in this worker process. Without requests there isn’t a worker process. This is great from a resource consumption point of view. Worker processes which don’t run do not consume resources, memory in particular.

There is a drawback to this architecture however. The first requests that get handled by a newly spawned worker process might have to wait longer due to the initialization costs of the web application(s) living within the worker process. Typical example of initialization activities are:

  • Initialization of data structures
  • Loading data from a datastore into memory  (caching)
  • Compilation of code, e.g. .NET applications
  • Establishing database connections

To resolve this issue, install Application Initialization for IIS 7.5

Application Initialization for IIS 7.5

  • Improved customer experience while the Application is warming up

  • Decrease the response time for first requests by pre-loading worker processes

  • Increase reliability by pre-loading worker processes when Overlapped Recycling occurs