"Cache Everything" is Not Guaranteed

When I instruct Cloudflare to cache HTML via page rules, it rarely lasts for more than a few hours even with the largest possible “EDGE Cache TTL” of 7 days.

So I can verify that Cloudflare has cached a page. The connection time is very low, everything is fine. Then I come back 3 hours later and test the same page, and the cache is gone. It connects to the Origin, and needs to be recached.

I’ve noticed this for years, but this is the first time I’m making a post about it. The truth is that Cloudflare’s “Cache Everything” is not guaranteed to work. Cloudflare appears to have some kind of purging algorithm that decides whether or not to keep the asset in memory. I just wish it would be more transparent about this.

Cloudflare won’t catch everything on the first hit, ideally it will cache content once its guaranteed to receive a certain amount of hits from multiple IPs in the same region.
At the same time, the caching varies per POP, you could be cached in france but not in the netherlands.

1 Like

I can kinda understand that. Two thoughts:

  1. I just wish they were more transparent about it. They could, for example, let us see how quickly the current cache for a URL and POP will expire.

  2. Let me purchase a guaranteed cache for a certain amount of $. This could be a “pay-as-you-go” scheme. No downsides to that right?

  3. They could include a cache guarantee for the “pro” plan

Right now, we’re kind of left in the dark.

  1. Any CDN works like that, it’s just unreliable to cache objects that are not queried often, CDNs will most of the time store your content on memory or in very high-end disks, it becomes too expensive to cache “useless” assets.
  2. Won’t happen, I’m fairly sure you could “demand” it on some enterprise solutions but still, it’s unlikely. If a site is not generating enough traffic for a content to be cached chances are they would not be able to afford anything like that either.
  3. On paid plans there are chances you are advertised on more pops, enhancing the caching in some regions. (I believe this is specially noticeable on business and enterprise). At the end for the PRO plan you are mainly paying for the extra computing process it involves, the WAF requires quite deep inspection of each request, asking them for more would be a bit unfair IMO.

Support is pretty clear with these cases on which plan is faster/slower, if you are more curious about knowing the details I would open a ticket to see if they can clarify this issue you are facing.

I disagree on that. CloudFlare does not work like “most CDN” its one of the few reverseProxy CDN services. Most other CDN really have push and pull zones where they spread new files to all over their POPs and the files then will stay there unless you delet them. No TTL. Some even offer to host these files inMemory. So no fallback to Disc. But even normal storage nowadays are mostly SSDs which are not by much slower then Memory unless you do not request it 10.000 times a hour (when the bottleneck are the IOPS)

So if its just up to static filehosting there are definitely better CDNs then CloudFlare. But you can use them side-by-side with CloudFlare if you host these files just on :grey: subdomains or even host them on completely different domains.

CloudFlare does not guarantee the files are keep on cache for as long as you set the TTL! Optimally they do, but its not guaranteed thats the point here. So OP is right with his statement.

Also this applies:
If a files gets cached it just gets cached in the requested POPs. So if it is cached for you this does NOT mean its cached for others! If now requested from a different POP AGAIN the origin have to deliver, there is no fallback to other CLoudFlare POPs/RAYs. (which sometimes makes much sense)

For “pro” plan very unlikely, maybe business but for just 20$ I think they will not include this. But I already thought about filing a Feature Request for “HighSpeed Caching”. Which will cache the requested files on ALL available CloudFlare POPs (RAYs) FOREVER untill you delete/overwrite it.
This should be paid for about 1GB = 5€/month… Like if you use 2GB then you have to pay 10€/month.
512MB maybe should be free for everyone.

But actually never a FR (Feature Request) here mad it so probably its wasted time.

But that would be a KILLING Feature for all other CDN Services if CloudFlare would offer this!

But that would be a KILLING Feature for all other CDN Services if CloudFlare would offer this!

Agreed. Maybe Cloudflare can have a special paid package just for “CDN” services, without all the WAF stuff. This would include the following:

  1. Guaranteed storage at least till TTL (Other CDNs have this as you pointed out)
  2. Retrieval of uncached content from other POPs if possible (Again, others have this)

A few other services like StackPath and Fastly already offer this. I like the idea of StackPath since you can get started for just $10/m, but their network is buggy, slow, and not reliable. Fastly makes you pay through the nose with a $100/m SSL! If Cloudflare were to offer this, it would just be amazing. They will singlehandedly monopolize the entire CDN market, and get even richer.

I’m not sure why they’re not doing it…

This topic was automatically closed after 30 days. New replies are no longer allowed.