18 May 2016

Evolved Caching 2 is coming

We wrote a while back about the fact that Magento 2 now ships with a full page cache for both enterprise and community editions.  We talked about whether or not we would be developing Evolved Caching 2 for Magento 2 - we concluded that because the performance of the native FPC just doesn't compare to what we could expect from Evolved Caching 2, we would indeed be developing the next version of the extension.

This post gives you the latest on how development is progressing, our strategy for this new version, and details on the kind of performance we are seeing so far.


Progress

So how far along are we with development so far?  Well let's start by saying it's a big build so it was never going to be quick.  Version 1 of the extension has seen around 70 releases since release over 3 years ago (and is still being actively developed), is highly stable, and caters for countless 'edge cases' with the framework.  We are building version 2 from scratch and obviously want to take of advantage of the principles we have learnt from building version 1.  We aren't recycling any code as this is a great opportunity to create a really robust, well built extension right from the offset using the modern coding standards of Magento 2.

Right now caching is functioning and we are seeing performance around 10 times as fast as the native FPC, great!  We have built a complete toolkit to access all the data we need to properly serve the cached content without having to initialise the framework - which results in a massive performance hit.  Pages are being cached and served and we have built the functionality to exclude pages and blocks from caching.  Collection of dynamic content is also working.

So we are a good way into the build, but there is still some way to go to add the same range of functionality that comes with version 1 of the extension.  So right now, we are around 50% of the way through the build.


Strategy

A number of the features in Evolved Caching 1 came about through the natural development of the product over time, and as we added new functionality we also made the functionality disabled by default so your store didn't suddenly start working with the cache in a way you hadn't expected after installing an update.  With this being the first build of version 2, we have the chance to rethink whether some of these features need settings in admin to disable them.  So obvious things like auto clearing and warming the cache won't have settings to enable you to disable them as there aren't really any circumstances where you wouldn't want this.  We are also likely to be removing the 'immediate' cache warming strategy and going only with cron.  By doing this we will both be able to strip out a good number of extension settings making setup quicker and easier, and making the range of settings much less extensive and daunting.  It will also give you the functionality you expect without having to enable it.

So the end product should be cleaner, and easier to configure and use whilst still giving you the great range of functionality you have come to expect.

Performance

We were disappointed by the performance we saw with the native FPC in Magento 2 in our previous post, so how does the performance of Evolved Caching 2 compare?  In our testing we were seeing the server take well in excess of 1000ms to serve cached content to the browser.  Evolved Caching 2 is giving times at least 10 times quicker at 100ms or less to serve it's cache.


We hope that you will be as pleased with Evolved Caching 2 when it's released as we are already!  If you want to buy or learn more about Evolved Caching you can do on our store.

No comments:

Post a Comment