We’ve seen it in Wordpress for years – now you can use page level output caching for DNN Platform!
Web scalability for CMS driven websites has been a hot topic for some time now. From blogging to e-commerce, websites are built to generate traffic and in turn revenue. However what is the use of online marketing, SEO, and striving to create ‘viral’ content if your website collapses under its own success? How much will your Google rankings be hit by a page that takes 30 seconds to load?
We were concerned that performance under load was putting off SMEs from using DNN as their CMS. That’s not to say that you cannot get DNN to perform under heavy load. We could upgrade to Evoq Content, increase server capacity, add SSDs for faster data access or build a web farm however these are all going to add to the monthly hosting bill. We wanted a solution that is simple and cost effective for SMEs to implement – allowing them to use DNN where they may have otherwise discounted it.
psPageCache
psPageCache offers DNN Platform Edition users page level caching by unlocking the power of DNN.
What is page level caching?
Say that your homepage doesn’t get updated more than once per hour. Everyone that visits your homepage in that hour is seeing exactly the same thing. For DNN to show them your homepage it must work out what content is to be displayed by pulling those details from the database. Why bother checking the database every time when we know the page will be the same? This is where psPageCache comes in. It will keep a copy of the page after DNN has done all the hard work so that when the next user asks for the page it can be sent back to them straight away.
psPageCache offers both a memory and a file system provider which you can mix-and-match to suit your hosting environment.
How well does it work?
You are free to try psPageCache on your own website to see exactly how well it performs for you. To give you an idea of the benefits we put together a simple load test which yielded a three-fold increase in the number of users the site could handle.
Test Environment
We created a new virtual machine on the Microsoft Azure platform. It was a modest A1 standard VM which gave us 1 core and 1.75GB RAM on Windows Server 2012 R2. We installed SQL Server 2014 Express with DNN Community Edition 7.3.3.
We kept the default homepage, added a static “About Us” page and a blog page with two posts using DNN Blog 06.00.11.
The Tests
To keep things simple (and allow others to replicate our testing) we decided we would run our load tests through Visual Studio Online. When then had scalability without worrying about local resource or bandwidth constraints.
The web tests were split into three:
- 45% just visit the home page
- 35% visit the home page then About Us
- 25% visit the home page then the blog page then a blog article
We configured a 5 second think time for the virtual users and set a target of 5 seconds to load the each page.
Virtual users increased by 10 every 10 seconds up to a maximum of 300. We wanted to see how quickly the page load time increased and how many users it took for the page load time to exceed 5 seconds.
The Results
As we would expect when we aren’t using caching the page load time increases linearly with the number of users. It isn’t long at all (around 70 users) until the page load time breaks the 5 second mark (for all pages being served). When running psPageCache it takes until 250 users to break a 5 second page load time.
Most impressively when we reach 300 concurrent users psPageCache is allowing DNN to deliver pages three times faster.
What now?
It’s clear from the test results that psPageCache can really help your DNN website deliver your content quickly under load. This leaves you to get on with managing your content and marketing and not worrying about whether your website will keep up with your successes.
Try psPageCache on a 30 day trial now and share your results!