Quick check of your URL you provided via WPT cults3d.com : Chrome...rginia USA - EC2 - WebPageTest Details
- Huge 14-20MB page size. Cloudflare can only operate in a reality that networks can’t transfer data faster than the speed of light. So CF CDN caching still has limits as to how fast it can serve content. Larger asset and page size, means slower transfer times. The ideal total page size would be <400-1200KB.
- Thumbor backend system isn’t working properly - I see a lot of 502 errors in WPT suggestion Thumbor system was unavailable or not working properly.
502 error timed out response took 8.7+ TTFB
Other evidence is Thumbor served images have a cache miss for CF cache but you have another intermediate proxy showing a Hit. If that intermediate proxy is on your origin or behind Cloudflare, then Cloudflare still needs to connect and communicate with that intermediate proxy and it shows the TTFB very slow for that intermediate proxy to return a response.
Here it’s 5.6+ seconds TTFB
- Cloudflare by default doesn’t cache dynamic HTML pages only certain assets unless you tell it specifically to do so https://blog.cloudflare.com/caching-anonymous-page-views/. So it shows that your server response time (TTFB) is much slower than optimal non-cached HTML page’s TTFB at 1.5 seconds. I’ve see your page vary from 1.5-8+s TTFB so your backend server stack (Phusion Pasenger) isn’t optimally configured.
Here your index HTML page TTFB = 1.34s
3x run WPT results plotted show variance up to 8.2+ seconds TTFB
To fully optimise a site for performance and speed, you need to optimize 3 segments.
segment 1 - connection between visitor and CF edge server i.e. CDN cache, WAF, Firewall, Page Rules, Mirage, Polish webP, HTTP/2, HTTP/3, CF APO, CF Workers (i.e. custom/advanced caching), 103 Early Priority Hints, Automatic Signed Exchanges (SXGs) etc
segment 2 - connection between CF edge server and your origin i.e. Argo smart routing, Railgun, Tiered Caching & Full SSL/ECDSA SSL certificates, origin server with TLSv1.3 support
segment 3 - your origin server’s performance/optimisations i.e. web server, PHP, MySQL server optimisations and server hardware specs. In your case Phusion Passenger configuration.
Cloudflare can only help for segments 1 & 2 for cached guest/non-logged based visitors. Now for Cloudflare CDN cache miss/bypass and logged in user for web apps like forums/wordpress or CF CDN default no cache for dynamic HTML, performance is determined by segment 3.