It's disappointing because Cloudflare is the only way I know of to show full attachments to members via CDN while keeping attachment permissions intact so that guests see thumbnails (makes pages extra speedy for guests + Google). However, lazy loading images mostly makes up for that.
1) KeyCDN was costing me more than I could comfortably afford, so I switched to using Cloudflare instead. Without using either of those, my site was painfully slow. With Cloudflare, it wasn't quite as fast as KeyCDN, but it was a big cost savings. Still, I was getting some member complaints about site slowness, so I decided to try BunnyCDN.
I just made the change yesterday, and the speed boost was obvious. Members noticed immediately. I don't know how BunnyCDN can be so cheap. Their volume pricing, which uses smaller # of PoPs, is just $10 for 2TB! It seems too good to be true, but so far the results speak for themselves.
2) I just started using DragonByte Optimise on all my sites. It's worth it for the guest page caching alone, IMO.
3) Google now makes available their Chrome Experience Report data on a site-wide basis. This is basically Google's overall estimation of your site speed based on "real user measurement of key user experience metrics across the public web, aggregated from users who have opted-in to syncing their browsing history, have not set up a Sync passphrase, and have usage statistic reporting enabled."
This info is only available for relatively popular sites, where Google has enough data to give a report. Google uses site speed as a ranking signal for desktop search and is about to start using it for mobile search, so this seems like a good tool to understand your current site performance.
I use both. Mainly use bdCache for the parts XF caches by default into memcache, but into Redis instead. I use DB Optimise with Redis as well, and didn't want to have both Memcached and Redis at the same time, plus I like the ability to restart Redis or reboot the server without losing cache content, unlike Memcached.
Zend Redis cache doesn't change what XF caches, it simply allows it to cache it into Redis instead of Memcached. XF caches sessions, settings, templates, etc., DB Optimize adds more caching on top of what XF natively caches.