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" />