One of the most common problems you notice when using a CMS is the amount of time it takes to render a page. As site speed is massively important, Redakt CMS was designed to be as fast as possible. Get in the fast lane and build your sites with Redakt - here’s why:
Research shows that website visitors do not tolerate lengthy page load times. Not only do they abandon slow websites, they are likely to never return to that website again. Further, search engines now include page-load times in their ranking algorithms. Having a fast website is therefore critical to your business case, especially if your website is directly tied to your sales.
Always on our mind
We hate slow websites just as much as you do. Redakt CMS was built from the ground up to render pages as quickly as possible. This has resulted in best-of-class page response times.
An uncached page request including roundtrips to the data store will typically have a server response time of well under 100ms on commodity (virtual) hardware. Cached responses are even faster. This is many times faster than current average real-world website response times.
Ok, so what makes it fast?
Saying it’s fast is one thing, but proving it is another. We talk big, but what have we actually done to make it perform so well? First, it's all about awareness. If you develop the entire product layer to layer with fast and strong performance in mind, this already eliminates the mediocre "good enough" parts of your software code. We don’t take shortcuts. The benefit-to-cost ratio of this way of thinking is unbeatable.
We use fast document databases for a reason. Every data store we support has been selected for performance. Because data can be nested in a single document, database roundtrips are fewer and more effective, greatly reducing server I/O, and increasing the render speed.
Efficient application caching is at the heart of Redakt CMS. Caching temporarily stores often retrieved objects in memory or a specialized fast data store, to reduce time-expensive roundtrips to the database. This impacts server performance greatly. Parts of webpages and (resized) images can also be cached for improved page loading. Redakt CMS also makes it easy to host your assets on a Content Delivery Network, including media that is managed through Redakt.
Using the latest technology enables us to develop highly optimized software. These are some of the specific things we do in code to improve performance:
- Apply the asynchronous programming model with async/await throughout the Redakt CMS codebase - this prevents any part of the page holding up any other process.
- Use the new
ValueTasktype to reduce overhead from async Task creation where possible.
- Use the new
Memory<T>types to reduce memory allocation.
- Target .NET Core (alongside .NET Standard) explicitly to be able to make use of
Memory<T>based I/O methods in .NET Core.
- Minimize the dependency tree as much as possible. When we need a third party package, we also select them based on performance. You will only ever be as fast as your slowest component, so by using the fastest components, the overall speed of response improves.
Wherever we can take advantage of new features that the framework has to offer in terms of performance, we will do so by making updates to the core components.