The content you're reading is getting on in years
This post is on the older side and its content may be out of date.
Be sure to visit our blogs homepage for our latest news, updates and information.
Output caching in Sitefinity is a very important and useful feature, especially for websites with heavy load. In a nutshell, Sitefinity caches the rendered output for a particular page (personalized pages also!) when the page is requested for the first time and stores it in memory for other requests which may need the same output. In this way, the loading speed of the pages is significantly improved. If you want to find out more details about the output cache in Sitefinity, take a look at this documentation article.
Now, when you have a website with a heavy load, on start-up, one page may be requested many times before the first request stores it into the cache. This is how output cache works in ASP.NET. Such scenario will cause a lot of requests to the database and as many compilations of one and the same page, which will lead in slow application start-up and heavy CPU load during it. To solve this issue, we introduced an optimization to the output cache which locks the page after the first request until it gets into the cache and then serves the cached version to the other request. This feature is available per Output cache Profile and it is switched off by default. The exact place where you may find it is: Advanced Settings -> System -> Output Cache Settings -> Output Cache Profiles -> Your Profile -> Wait for page OutputCache to fill (see the screenshot bellow).
The benefit will, of course, be lower CPU and database load, and consequently faster application start-up. Moreover, the benefit may be seen not only on application start-up, but also on when you publish a page template. Then, the output cache is invalidated, and the affected page/s should be loaded again form database and recompiled.
View all posts from Ivan Eftimov on the Progress blog. Connect with us about all things application development and deployment, data integration and digital business.
Subscribe to get all the news, info and tutorials you need to build better business apps and sites
Copyright © 2019 Progress Software Corporation and/or its subsidiaries or affiliates.
All Rights Reserved.
Progress, Telerik, and certain product names used herein are trademarks or registered trademarks of Progress Software Corporation and/or one of its subsidiaries or affiliates in the U.S. and/or other countries. See Trademarks for appropriate markings.