Siteground have recently announced a significant upgrade to its Supercacher technology, changing a core component from Varnish over to NGINX (pronounced “Engine X”). The purpose of the change was mainly to provide SSL support, but it also has a secondary benefit of improving performance and stability.
Quick overview of the Siteground Supercacher
Whilst you can read a more in-depth overview of the Supercacher here, it is helpful for us to quickly summarize what it is before going into more detail the new changes.
The Supercacher is a web caching service offered by Siteground that offers three different levels of caching:
- Static Caching – This is included on all Siteground plans and caches static files such as images, stylesheets etc.
- Memcached – Memcached is a popular caching system that speeds up database driven sites by caching data and objects into RAM.(similar to object caching functionality in W3 Total cache). Memcached is available on all plans except the StartUp Plan.
- Dynamic Cache – This is probably the most powerful aspect of the Supercacher which caches the results of the web pages into memory.
Siteground explained that the Static Caching and Dynamic Cache prior to now were built on top of Varnish, because at the time (prior to the widespread use of SSL and E-commerce sites) it was a very powerful solution:
At the time, Siteground were one of the very few companies that offered such dynamic caching (with the ability for users to exclude URLs from being cached without contacting the hosting company) which has really helped them stand out as one of the best premium hosting providers around.
If Varnish is so Good, Why Replace with NGINX?
No matter how great their Supercacher was, it had a major flaw. The Static and Dynamic Caching parts of the Supercacher were not compatible with SSL and HTTPS requests. The developers managing the Varnish code stating that they have no intention to support SSL due to the complexity:
There are a number of reasons why there are no plans that will grow SSL support in Varnish.
First, I have yet to see a SSL library where the source code is not a nightmare. […]
Second, it is not exactly the best source-code in the world. Even if I have no idea what it does, there are many aspect of it that scares me.
This does not give much confidence for the future of Varnish and as SSL becomes more mainstream Varnish will become increasingly shunned as a solution.
In addition, with the recent boost in Google Search for those sites using SSL, and the ever-increasing numbers of E-commerce websites that need SSL it seems non-encrypted sites might soon be a thing of the past.
With all of this in mind and with NGINX supporting SSL out of the box, it is a very sensible move for Siteground to change from Varnish to NGINX.
Siteground have also implimented SPDY (pronounced “SPeeDY”. This is a networking protocol that augments HTTP with several speed related features such as:
- Compression of request and response headers. This cuts down bandwidth usage when similar headers are sent multiple times for different requests.
- Allows multiplexed requests over a single connection saving on round trips between client and server, thus preventing low priority requests blocking high priority ones.
- Allows the server to actively send resources to the browser that it knows will be needed, rather than waiting for them to be requested.
Just How Fast is the new Supercacher?
To test this we need a speed test with the same website both before and after the new NGINX implementation. Fortunately, we took some speed tests on the 6th April 2015 whilst updating out W3 Total Cache Tutorial (using a fairly slow WordPress Theme), and we have some excellent benchmarks.
All these tests were carried out on Siteground GoGeek plan at their EU Server in Amsterdam:
No W3 Total Cache settings + No Supercacher
W3 Total Cache settings as per our tutorial + No Supercacher
W3 Total Cache (Page cache only) + Varnish Supercacher
NGINX Supercacher only – No W3 Total Cache
It took us a little longer to release the results below as we had to check the correct configuration to use. We have now configured the test site with the new NGINX Supercacher and there are a few differences on the implementation over the previous version. For one, the NGINX Supercacher does “full page” caching into RAM and includes all the necessary Browser Cache settings. You therefore do NOT need W3 Total Cache “at all” for your website to be fully optimized.
See the result below:
As you can see, the new Supercacher is a bit quicker, has the benefit of working with SSL and is much easy to configure (there are no need to mess around with Browser Cache or Page Caching). You would be crazy not to test this out on your own site.
The Migration to the new Supercacher
If you know anything about Siteground, then you will know that it is almost their mission to not only be fast, but also to be reliable. Just take how OCD they took their Server Migration to a new data center as just an example. In order to minimize disruption, Siteground undertook the updating of the Supercacher in several steps.
Firstly, they launched a new version of their Supercacher so that as many of their customers had updated as possible. Once they had detected that most of their customers had upgraded the plugin, they started switching to the servers over to NGINX. Only when they were 100% sure everything was working well did they enable the SSL caching.
If you are interested in trying out Siteground, we currently have an exclusive offer giving you up to 60% off their hosting. Note that you will need at least the GrowBig plan to get the full benefit of their Supercacher.