This article will discuss how Cloudflare may be slowing down your Website instead of speeding up.
Advantage of Using Cloudflare
Cloudflare is one of the largest CDN providers globally, and I have been using it since 2013 to speed up my sites.
Apart from speeding up the images, compressing HTML, CSS, and JS, Cloudflare also provides security and HTTPS to your Website.
The free plan has some limitations but is useful for most website owners, but the pro-plan offers many more like additional page rules, Brotli compressions, and serving WEBP images on the Fly.
One of the most significant advantages of using Cloudflare is the ease of setup and running it.
You don’t need to do much, point your nameservers to Cloudflare, and you can install the WordPress free plugin to optimize the setup further.
All was working well for years, and I was delighted with the service and even a few years back, I moved to the PRO plan that is $20 per month.
Cloudflare Slow TTFB (Time To First Byte) Issue
A few months back, I tested my Website using Cloudflare Pro plan using GT Metrix, and Webpagetest.org and both the websites showed that the TTFB is close to 1 second.
I am using one of the lightest themes and hardly any plugins. Additionally, I am using NGINX + Caching to ensure everything is fast using a 20$ Linode server. Linode and Digital Ocean are excellent when it comes to performance, but Linode is slightly better than Digital Ocean.
I contacted Linode and started digging into why the server was taking so long to respond to the first request and causing a delayed response. I initially didn’t think that the issue was at Cloudflare.
We checked the themes, changed them, removed all plugins, and finally, when we were left with no choice, moved the server from one Geolocation to another to ensure a faster speed.
Oddly, we still saw the TTFB was higher. So eventually, we tested the Website by turning off Cloudflare services and found the culprit.
Website TTFB with Cloudflare was 0.7 second and was also varying when we tested it from India. Sometimes it will go as high as 1.5 seconds for TTFB.
The webpage size is less than 700 KB, and even without any Ads or JS was loading slowly.
After Removing Cloudflare, the TTFB was reduced to .3 seconds and overall load times also came down.
So, I realized that I was paying Cloudflare $20 every month to slow down my Website instead of speeding up.
I contacted Cloudflare support using the ticket system, and they did some testing, and they didn’t offer any help to fix the issue and passed on the buck to our hosting and website setup.
But when I persisted, they clearly said for India traffic, and you can try our Business or Enterprise solution for faster speeds.
So they want me to shell out excess of $200 per month to get some speed out of the system.
Response from Cloudflare
This was the response from Cloudflare - In summary they told me to read an article that says that we don't need to worry about the TTFB or if we are worries we need to shell out more
Hi Kanuj, Thanks for contacting Cloudflare support. We're sorry to read that you're experiencing difficulties. Apologies for the delay in our response. Looking at the recommendation from the GT matrix report - Leverage browser caching for the following cacheable resources We can see all the resources that are being flagged are being hosted externally and are therefore not being proxied through Cloudflare. This result means that Cloudflare can't add the browser cache expiration header to these resources. One option would be to move these resources to your own domain which would allow Cloudflare to add a cache-control header to those resources. Alternatively, if you have access to the server hosting these resources, you could add a cache-control header there instructing the browser to cache those resources. The following images are resized in HTML or CSS. Serving scaled images could save 91.3KiB (75% reduction). You do not have an image resizing option on the Pro plan so you would need to reach out to your website developers to resize images at your origin or upgrade to the Biz plan to use this feature. Understanding Cloudflare Image Resizing You can also go through the article: Stop worrying about Time To First Byte 95% of my traffic is from India and Cloudflare is routing traffic from the US location based on the IP we are able to see. Due to the way routing in the country works some requests are sent to data center locations that are not necessarily the closest geographically. For example, if we do not have a peering relationship with your network provider or if that cache location is under heavier load, we may manually route our self-service plans to other datacenters. Most of the requests are sent to the physically closest cache location, but some requests are sent to nearby ones that are under a lower capacity. If you would like your zone to always be served by the closest geographic colo and the highest priority of traffic, please consider upgrading to the enterprise plan by filling out an Enterprise Request Form Apart from TTFB, are you observing any issues with browsing your site or accessing any particular resource? Maybe we can check on that and try to fix it.
Without Cloudflare, using optimized images, with Super Cache, Nginx, Mem Cache, and Autoptimize, we can deliver 2X to 3X the speed that is possible with Cloudflare. Also, I am just paying for the hosting to serve the files to visitors.
You may not be able to visit the above site that we specifically set up for testing and validating this case study.
I dug the issue a little more and found several tickets and posts on the Cloudflare community forum that also shared similar problems. (You can Google and search for the Issues).
Why the TTFB is Slow When Using Cloudflare?
Many users have concluded that their Indian servers are overloaded due to several people using the Free service.
However, even if you are using the Pro plan ($20/month), you are still treated as a free user, and there is no prioritization of data centers for your traffic. It is a Pro plan on paper, and you are not getting much out of it.
If you want to have a better speed, you can shift to India’s Enterprise plan or some other countries where users see a higher TTFB performance when using Cloudflare.
I liked Cloudflare a lot, and it is easy to work with but considering there is no benefit of using it at the moment for me, I have given up on the service.
Resources and references: