Application warmup


This article explains how your application is automatically warmed up, which helps to deliver optimal performance.
The warmup of your application is automatically performed in the following cases:

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

The warmup mechanism sends a set of requests to the application, which would force it to generate different levels of application cache when building the responses, 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 50 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?

Next article

Azure Key Vault