Application warmup

Overview

This article explains how your application is automatically warmed up.
You may need to warmup your application in the following cases:

  • During deployment
  • When it scales-out
  • After unexpected restarts

The warmup mechanism sends to the application a set of requests that generates different levels of application cache that the application uses, before it starts receiving production traffic.

Warmup process

Sitefinity Cloud uses the standard IIS warmup feature.
For more information, see Microsoft documentation » Application Initialization

  • The <applicationInitialization> section in the web.config includes paths that are used for making requests to the application on start or restart. 
  • The requests are done automatically by the IIS. 
  • This way, after deployment, scale-out, or unexpected restarts, the application is prepared to handle production traffic.

Default behavior

The warmup is performed by the CD pipeline and is done for both the Production and the Staging environments.

During deployment, the CD pipeline gets the top 100 most viewed pages from the Application Insights and includes them in the <applicationInitialization> section of the web.config

If you use multiple domains for a single application, the list of paths in the web.config section includes also the respective hostnames.

Customize the warmup behavior

You customize the warmup behavior by adding an <applicationInitialization> section in your web.config file. This will override the default behavior.

In this section, you can add the desired URLs. You must also include the doAppInitAfterRestart attribute and set it to true.

NOTE: You cannot include the same URL path twice in the <applicationInitialization> section, even if the hostname is different. For example, if you want to warmup the / path for two different domains, you can add a query string to differentiate them.

Use the following example:

To customize the warmup URLs per environment, you can also use web.config transformation files.
For more information, see Manage the configurations.

Was this article helpful?