Is this really the version you are looking for? Kentico Xperience 10 Documentation is no longer updated. Use the switcher in the header to choose your product version.
The performance of your website depends on many factors:
Tip: Finding sources of performance problems
Optimizing on-line marketing performance
For high-traffic websites that use the Kentico EMS on-line marketing functionality, we strongly recommend following the Best practices for EMS performance in addition to the recommendations listed below.
Applying output filters adds steps to the processing of pages, and may slow down the website. If the output code of your pages is valid without filtering, you can disable the filters:
Go to Settings -> System -> Output filter.
Choose your site in the Site selector.
Type the / character (forward slash) into the following settings:
Save the settings.
The system excludes all pages on the website from the output filter.
If you resolve your performance issues by disabling the output filter but need to keep the functionality to produce valid code, consider enabling output filter on web part level only. For example, you may want to enable output filter in web parts for which you cannot guarantee valid output, like the 'Editable text' web part.
Always disable all Kentico debugging tools before deploying websites to the production environment:
If you ever need to debug in the production environment, make sure you only enable the necessary Debug settings for a limited period of time.
Loading files from the database is a demanding operation. Storing files on the server's file system provides better performance in most cases:
Requirement: Your application needs to have the Modify permission for the web project directory in the server's file system.
Go to Settings -> System -> Files.
Enable the following settings:
Consider disabling the following settings to improve loading time of page attachments:
If you don't need to protect your images with watermarks, we recommended disabling the watermarks feature to achieve the best performance. Watermarks don't generate thumbnails on the file system so the performance can be affected. Disable:
Click Save.
See also: Storing files
If you don't need to check permissions for pages in the content tree, we recommended disabling the Check page permissions site setting to avoid unnecessary security checks. See hiding pages based on permissions for more information on the settings.
You can store your site's content either in Pages, Custom tables, Module classes or Media libraries. Each storage type is designed for a different type of data.
Storing large amounts of pages in the system can significantly affect the website's performance. Refer to Defining website content structure for more information. You can also reduce the amount of pages stored in the content tree by setting up archival for outdated pages.
The following settings can significantly affect performance when creating and updating pages under a parent page that already has a large amount of descendant (nested in all levels) pages :
The following settings make the system look for default culture content if it isn't found in the requested (current) culture. This affects read performance.
Settings -> Content:
Check the configuration of all components (web parts and controls) that load data from the database or other sources. For best practices and examples, see Loading data efficiently.
If your pages have long initial load times (for example after application restarts), try to reduce the number of components that need to be compiled:
Tip - Optimizing dynamic compilation when developing web site projects
During the development of web site type projects, you may experience long compilation times and slow performance after making changes to top-level files (the Global.asax file and all files in the Bin and App_Code folders). By default, the application compiles the entire site after such changes, which can be a demanding operation.
To optimize the dynamic compilation, set the optimizeCompilations attribute of the <compilation> element in your web.config file to true.
<compilation debug="true" numRecompilesBeforeAppRestart="100" targetFramework="4.5" optimizeCompilations="true">The dynamic compilation then only includes the files that were changed instead of the entire site.
Note: Optimized dynamic compilation improves performance, but may cause compilation errors if you change an API or object that is used elsewhere on the site. For more information, see Understanding ASP.NET Dynamic Compilation (opens in a new tab).
If you integrated custom code into the application (including JavaScript), please make sure it works correctly.
Try to comment out your code and see if the performance improves.
You can conserve system resources by limiting the execution of scheduled tasks:
Use code minification and compression to reduce the size of CSS and JavaScript resources. This helps limit the volume of traffic between the server and clients.
Refer to:
The following basic settings work well for most websites:
Go to Settings -> System -> Performance.
Choose your website in the Site selector.
Set the caching settings:
Click Save.
Note: Caching only improves performance on the second and subsequent page loads.
Output caching is the best way to significantly increase the performance of pages. We recommend caching page output whenever possible, particularly for high-traffic pages.
See Caching page output for detailed information.
To enable output caching:
Note: You may need to take additional steps to ensure that cached pages do not display outdated content.
Page info cache is a special content cache for URL rewriting. Configure page info caching according to the recommended intervals.
If your website has periods of inactivity (no requests for over 20 minutes by default), users may experience long delays when first opening the site. To prevent this, set the Idle time-out (minutes) property of your IIS application pool to a higher value:
If performance is still not satisfactory after you have taken all possible steps to optimize your website, you may need to upgrade your hosting environment:
One way to create an easily scalable website is to deploy your instance to cloud hosting.