Cloudflare DNS etc. Will this CDN speed up your website?

Summary: This blog post investigates whether Cloudflare will actually speed up your website, and if so, under what circumstances. It analyses Cloudflare DNS setups, free and paid versions and other considerations.

cloudflare

 

What is Cloudflare?

Cloudflare is a Content Delivery Network (CDN). It optimises delivery of content via a network of international servers and has other features like DNS, security and many other features.

 

Why we are conducting this experiment

Earlier this week, my web host, an Australian company, announced it will be discontinuing the cPanel Cloudflare plugin and Railgun. I was devastated. However, they reassured me that I will see more benefit not using Cloudflare than using it, at least in an Australian context. They claimed that on a website on their server loading in 0.86s, it takes 2.14s once you use the plugin and Railgun. Shocking! Isn't Cloudflare supposed to make the internet work the way it should? (i.e. make your website faster). Hence, I decided to do my own experimentation and see if this was true.

 

What we will be analysing

This blog post seeks to analyse whether Cloudflare does indeed speed up websites, and if so, under what circumstances. Some things to note before we analyse are:

  • We are using an Australian web host/server
  • Other countries may yield different results
  • There are other factors such as the way the website was built
  • In our tests we generally only used one website
  • We only use the document loaded time

We will be using this website for speed testing: Web Page Test

Video summary

Here is a video summary of our tests and outcomes:

First scenario: No Cloudflare

With our test website, without Cloudflare, the loading time in Australia was: 5.509s

 

Second  scenario: Partial Zoning & Free Tier

Partial zoning is when you use the Cloudflare plugin in cPanel to connect the website to Cloudflare and the web host maintains control of the DNS. This is the load time in Australia for a partially zoned website on the free tier: 7.215s

This is a very poor result. Using Cloudflare in this way has slowed down the website by nearly 2 seconds.

 

Third scenario: Full Zoning & Free Tier

Full zoning is when the website uses Cloudflare nameservers and Cloudflare manages the DNS. This is the Australian load time for a free, fully zoned website: 5.989s

 


Fourth scenario: Full Zoning & Paid Tier (Pro plan)

If you do pay for Cloudflare and use their services, including paid ones like Argo, the load time in Australia of our test website was: 5.641s

This is much better than partial zoning, but only on par when Cloudflare was not in use.

 

The issue with Cloudflare in Australia

Australia is in a particularly undesirable situation with Cloudflare. Their closest server is based in Singapore and is the reason for these deplorable statistics. Singapore is geographically very far away from Australia.

 

Fifth scenario: Singaporean loading time, Partial Zoning & Free Tier

The load time in Singapore for the website using fremium from Cloudflare is not spectacular regardless of using Cloudflare's Singaporean server, the load time is now: 6.792s

This  is still slower than our website's Australian traffic without Cloudflare and only half a second faster than when we look at  Australian traffic for partial zoning & free tier.

The free plugin and free services from Cloudlfare given to you by your web host is not that great after all.

 

Sixth scenario: Singaporean loading time, Full Zoning & Paid Tier

The load time for the above scenario is: 3.782s

So Cloudflare does improve your speed internationally, with the caveat being the location. What we can take from this, is that for Cloudflare to work best, you need:

  • Full Zoning. Cloudflare must manage your DNS
  • Paid Tier & paid services must be used to see a benefit

But let's not stop here. There's a few more layers to this...

 

Seventh scenario: Singaporean loading time, Full Zoning & Free Tier

The performance for this is not too bad, better than Australian load time without Cloudlfare, but markedly worse than when you had paid services: 5.004s

 

Further testing: Does Content Management System Matter?

We will now do a quick test with a Joomla website. All the above stats are based on a WordPress website. This Joomla website is using Full Zoning & Paid Tier. The Australian load time is: 5.003s

This is the Singaporean load time: 3.942s

 

Is Railgun any good?

This test involves the partially zoned, free tier website. Recall that the Australian load time is: 7.215s

With Railgun, the loading time is: 6.614s

This is slower than a setup without Cloudflare and not enough improvement

 

Conclusion

If you are in Australia and do not have much international visitors, do not use Cloudflare. If you are outside Australia, results may differ. For example with Singapore, website load times perform extremely well.

If you are in Australia but have international visitors, using Cloudflare is good, but only if you are in the paid tiers.