CloudFlare APO & WordPress
Cloudflare APO is an interesting new optimization service from Cloudflare (new in the sense that it is recent) I have started to use on this blog. In this post I wanted to cover a bit more about what the service is, and how it has worked for me to date. This service is provided by Cloudflare which is one of the leading Content Delivery Network (CDN) and web protection companies. At the time of this post it is an addon with a cost of about $5 USD per month (depending on your plan).
Cloudflare APO is short for Automatic Platform Optimization (APO), this system is a plugin to WordPress that allows Cloudflare to serve your website from Cloudflares edge network which gives fast performance to your visitors no matter where they are in the world. It does this by essentially distributing your WordPress HTML and third party fonts across CloudFlare's Workers Database (KV) which is replicated to the edge of Cloudflare's network (in approx. 200 cities worldwide), when your visitors then browse to your website Cloudflare checks to see if it is within the KV database and if so it serves this (or from cache), otherwise Cloudflare fetches the information from your origin server.
By storing the information at the edge, it means that the load on your website is significantly reduced (assuming it is being served from KV), but more importantly it also means that the information is being served to your visitors faster (resulting in a faster load time) when requested as the request is being served from the edge closest to the visitor rather than going to the origin server and then back to the end user.
Whilst Cloudflare Caches html pages (that are not dynamic) and APO also does caching, there is a slight misconception that Cloudflare APO replaces the need to have any page caching, whilst APO does reduce the load on the server, it is still recommended that you maintain some type of page caching at the server level as this will reduce overall load on your server, and provide resources to Cloudflare quicker (than having to hit the database and generate everything from scratch). It is also worth noting that how the site performs will depend on the location you are accessing it from, if you are closer to the origin server then the improvement will be less than if you are further away from the origin server.
To test the performance (on a specific page of mine), I ran a website load / speed test (which tests the page against multiple locations) with Cloudflare APO enabled and then I turned on Development mode on my Cloudflare portal and ran the same test again. The results are presented below:
On average, there was a 20% improvement to load time (minus represents decrease), and a 58% improvement to Time to First Byte (TTFB) when comparing Cloudflare & APO enabled to Cloudflare Disabled (through Development Mode). The difference in load time was greatest in California (with an improvement of around 53%), whilst the greatest improvement to TTFB was in Seoul (with an improvement of around 68%). In California there was a decrease in TTFB (with it becoming approx. 4% longer) however, I suspect this is more to do with variability in my test and the relatively low starting value of 0.359 s with APO so I am considering that as no real change.
This does not quantify the reduction in load, but all in all I have been fairly happy with the experience Cloudflare APO has provided me, I still have a long way to go to optimize my website, but in load tests, as well as my experience from load speeds it does appear to have made a difference to the overall load speeds, and performance of my site.
Comments are closed.
PO Box 113, Beaconsfield Upper, Victoria, Australia, 3809.