Performance optimization page

This page provides an overview of common settings that affect website performance. Use it to view the current state of the settings as well as the overall degree to which you have optimized your website performance..

PREREQUISITES: You must have enabled the Diagnostics module. For more information, see Activate and deactivate modules.

To open the Performance optimization page, click Administration » Diagnostics. In the left pane, click Performance optimization tips.

On the Performance optimization tips page, you can monitor the state of the following settings:

Output cache

Output cache is stored on the server. On page level, Sitefinity CMS caches all rendered output, including widgets. That way, the same content does not need to be generated each time the same widget action is invoked. For more information, see Output and client cache.

To configure: Administration » Settings » Advanced » System » Output Cache Settings » Enable Output Cache

Client cache

Sitefinity CMS caches media content (images, documents, videos) on the client browser. As a result, the amount of server requests decreases. For more information, see Output and client cache.

To configure: Administration » Settings » Advanced » System » Output Cache Settings » Enable Client Cache

L2 cache

In, Sitefinity CMS, L2 cache is used to cache database query results for subsequent requests. Using L2 cache can significantly increase the overall performance of your application. You can configure the L2 cache settings per persistent type. For more information, see Administration: L2 cache strategies.

To configure: Administration » Settings » Advanced » Data » Enable data caching

Client cache for themes

You can cache the page themes on the browser by turning on the client cache for themes. This way, you decrease the load times and pages are rendered faster.

To configure: Administration » Settings » Advanced » Appearance » FrontendResourcesCacheDuration

Output cache for RSS

In Sitefinity CMS, the output of RSS feeds is cached on the server. Output caching in RSS results in less database queries and improves the overall performance of the website. The RSS caching is not automatically invalidated upon a change in the content that is published in the feed – the feed is updated after the cache expires. For more information, see: Output cache for RSS.

To configure: Administration » Settings » Advanced » Publishing » Output caching profile to be used for caching the feeds output

Output cache and pages permissions

By default, output cache is not invalidated on changing the page permissions. You can set output cache to be invalidated on page permission changes. This will slow your system, because, every time a page permission changes, the output cache of all pages will be invalidated. For more information, see Other cache settings » Caching and permissions.

To configure: Administration » Settings » Advanced » Pages » Disable Output cache invalidation when permission is changed.

Cache for pages

Regardless of the type of output cache that is set globally for the entire site, you can setup output cache individually for each page. For more information, see Administration: Cache for pages and libraries » Cache for pages.

To configure: On Pages grid, click Actions » Titles & Properties of the page whose output cache you want to configure. Expand Advanced options and select the type of cache in Caching options dropdown box.

For details how to configure both client and output cache profiles on application level for pages, see Administration: Configure cache profiles.

Cache for libraries

Regardless of the type of client cache that is set globally for the entire site, you can setup client cache individually for each root library. This cache setting will apply to all folders of the root library. For more information, see Administration: Cache for pages and libraries » Cache for libraries.

To configure: Edit the properties of the library whose client cache you want to configure. Expand Root library settings and select the type of cache in Browser caching dropdown box.

For details how to configure both client and output cache profiles on application level for media libraries, see Administration: Configure cache profiles.

Debug mode

Debug mode can be explicitly enabled when developing your site, but in production environment, it creates an overhead. For performance purposes, we recommend to disable debugging, once your site is live. For more information, see Administration: Debug mode.

To configure: In your web.config file set the value of the debug property in the compilation tag to false.

CDN for libraries

A Content Delivery Network (CDN) is a large distributed system of servers deployed in data centers in multiple locations around the world. When you use CDN storage, images, videos, and documents are served faster to the end-user, while reducing the traffic load on your own webservers. For more information, see Use CDN storage for content libraries.

To configure: Navigate to Administration » Settings » Advanced » Libraries » Blob storage » Blob storage providers » <Provider name> » Parameters and create a parameter with key cdn and value <your CDN account>

Script combining for frontend

You can choose to combine script resources, such as JavaScript files, for frontend pages. This way, when a page is rendered on the frontend, it requires less server calls. For more information, see Administration: Script and stylesheet combining » Script combining for the frontend.

To configure: Administration » Settings » Advanced » Pages » Combine frontend script resources

Script combining for backend

You can choose to combine script resources, such as JavaScript files, for backend pages. This way, when a backend page is rendered, it requires less server calls. For more information, see Administration: Script and stylesheet combining » Script combining for the backend.

To configure: Administration » Settings » Advanced » Pages » Combine backend script resources

Stylesheet combining

You can choose to combine stylesheet resources, such as CSS files. This way, when a page is rendered, it requires less server calls. For more information, see Administration: Script and stylesheet combining » Stylesheet combining.

To configure:Administration » Settings » Advanced » Pages » Combine style sheet resources

SSL offloading

SSL offloading moves SSL encoding and decoding functions away from busy webservers to specialized devices that are better equipped to handle CPU-intensive SSL calculations. The SSL offloading device decrypts HTTPS requests and forwards them to the webservers as HTTP requests, thus, speeding up your webservers. For more information, see Administration: SSL offloading.

To configure: On the load balancer and all of the nodes from your NLB, navigate to Administration » Settings » Advanced » System » SSL Offloading. Select EnableSslOffloading, in HttpHeaderFieldName, enter X-Forwarded-Proto, and in HttpHeaderFieldValue, enter https.

Static content compression

You can compress responses to requests for static content. This way, when a client requests static content, such as .htm or .txt, it is compressed before it is served. For more information, see Administration: Static and dynamic content compression » Compress static content.

To configure: In your web.config, inside <system.webServer> tag, insert <urlCompression doStaticCompression="true" />

Dynamic content compression

You can compress responses to requests for dynamic content. This way, when a client requests dynamic content, such as ASP pages or ISAPI extensions, it is compressed before it is served. You should compress dynamic content before it is cached. For more information, see Administration: Static and dynamic content compression » Compress dynamic content.

To configure: In your web.config, inside <system.webServer> tag, insert <urlCompression doDynamicCompression="true" dynamicCompressionBeforeCache="true" />

Increase your Sitefinity skills by signing up for our free trainings. Get Sitefinity-certified at Progress Education Community to boost your credentials.

Web Security for Sitefinity Administrators

The free standalone Web Security lesson teaches administrators how to protect your websites and Sitefinity instance from external threats. Learn to configure HTTPS, SSL, allow lists for trusted sites, and cookie security, among others.

Foundations of Sitefinity ASP.NET Core Development

The free on-demand video course teaches developers how to use Sitefinity .NET Core and leverage its decoupled architecture and new way of coding against the platform.

Was this article helpful?

Next article

Debug mode