Speed Testing Impact of Cloudflare Cache, Cloudflare Argo & LiteSpeed Cache

I switched off Cloudflare Cache, Cloudflare Firewall (WAP), Cloudflare Argo & LiteSpeed Cache at midday BST on 3 July 2021, a Saturday morning. I then used Pingdom (licenced version) to track page load speeds from various locations. My origin server is located in Central London. TCP Turbo could not be switched off as its a default option on Cloudflare Business (even when everything else is switched off). So I’d expect, with everything switched off certainly, that the further away the testing location the slower the load speed. So to correct for this I’ve decided to only take note of speeds from a single European location (London, UK) via Pingdom. I sought to get 5 speed checks at each stage so as to establish both range and consistency of load speed.

CLOUDFLAREPLUSLITESPEEDCACHE

Secondly, I ran Google PageSpeed Insights scores at each stage.

I also used the website myself during this time to gauge how user friendly the speed of flicking between pages was for a human user.

My plan was to benchmark the page load speed (on my home page) without all three then to switch each on, one by one, then in various combinations of two followed by all three to see what impact each and a combination of them actually made on my page load speed. Cloudflare Cache, WAP, Argo & other products come with many, many different possible customisations so I flicked each on, one by one, to see which would impact page load speed via independent third party testing.

State 1: Nothing On 628ms

Page load time: 543ms; 519ms; 576ms; 576ms; 631ms; 921ms

Average page load time 628ms

Best 519ms
Range 402ms
Slowest 921ms

Page size: 202.23 KB

Requests: 27

Google PageSpeed Insights – Mobile Score: 93/100; Desktop 99/100.

Flicking between pages was for a human user: Mostly fine but occassionally loads were too slow for flow of thought and when they were they were generally way too slow. So base speed decent but more than occassional slowness presence. That is. more an issue of consistency than raw speed capacity.

State 2: Nothing On Except Auto Minify (by Cloudflare>> Speed >> Auto Minify [Javascript, HTML & CSS] 516ms

Cloudflare Development Mode had to, obviously, be switched back on for this to work. As it would not otherwise – but everything else including Polish, Brotili, etc remain off.

Page load time 481ms, 550ms

Best 481ms

Average page load time 516ms

Page size: 202.23 KB was essentially unchanged. Which was somewhat surprising considering I had switch minify on.

Requests: 27

Google PageSpeed Insights – Mobile Score: 93/100; Desktop 99/100.

Flicking between pages was for a human user: Home page loads and reloads could be especially patchy. Deeper pages seemed fine for the most part.

State 3: Stage 2 + Brotli Switched On Too 539msBrotli compression

Page load time 539ms

Page size: 196.5KB so Brotli did get the page size down by a few percentage points, though nothing more.

Requests: 27

Google PageSpeed Insights – Mobile Score: 93/100; Desktop 99/100.

Flicking between pages was for a human user: Fairly reasonable load times throughout whilst browsing. Issue with home page seems to no longer be present.

State 4: Stage 3 + Polish (set to Lossless with WebP ON) 804ms

Note: Polish assumes PNG to be lossless, and therefore it will only strip the metadata out of the file, hence the small reduction in size. Larger reductions are likely with JPEG files.

Page load time 804ms

Page size: 196.38KB (almost the same).

Requests: 27

Google PageSpeed Insights – Mobile Score: 90/100; Desktop 99/100.

Flicking between pages was for a human user: Very similar to Stage 3.

State 5: Stage 4 + Automatic Platform Optimization for WordPress 912ms

Page load time 912ms

Page size: 196.38KB

Requests: 27

Google PageSpeed Insights – Mobile Score: 90/100; Desktop 99/100.

Flicking between pages was for a human user: Subjectively slightly better than Stages 3 & 4.

State 6: Stage 5 + Enhanced HTTP/2 Prioritization + HTTP/2 434msHTTP/2

Page load time 434ms

Page size: 181.32KB

Requests: 27

Google PageSpeed Insights – Mobile Score: 94/100; Desktop 100/100.

Flicking between pages was for a human user: Good.

State 7: Stage 6 + Cache Switched From Development Mode to Active 1.14s

Page load time 1.14s

Page size: 166.65KB

Requests: 27

Google PageSpeed Insights – Mobile Score: 93/100; Desktop 100/100.

Flicking between pages was for a human user: Good.

State 8: Stage 7 + Argo 425msCloudflare Argo

Page load time 425ms

Page size 166.51KB

Requests: 27

Google PageSpeed Insights – Mobile Score: 96/100; Desktop 100/100.

Flicking between pages was for a human user: OK.

State 9: Stage 8 + Browser Cache TTL (1 Year) + Always Onlineā„¢ (updated) + Mirage 405ms

Page load time 405ms

Page size 166.77KB

Requests: 27

Google PageSpeed Insights – Mobile Score: 94/100; Desktop 100/100.

Flicking between pages was for a human user: Good.

State 10: Stage 9 + HTTP/3 (with QUIC) + 0-RTT Connection Resumption + gRPC + WebSockets + IP Geolocation 410ms

Page load time 410ms

Page size 169.56KB

Requests: 27

Google PageSpeed Insights – Mobile Score: 93/100; Desktop 100/100.

Flicking between pages was for a human user: Very Good.

State 11: Stage 10 + Web Application Firewall 553ms

Page load time 553ms

Page size 170.05KB

Requests: 27

Google PageSpeed Insights – Mobile Score: 92/100; Desktop 100/100.

Flicking between pages was for a human user: Very Good.

State 12: Stage 11 + Cache Everything (with Cloudflare) 405ms

Only pages where cache is bypassed is /wp-admin

Page load time 405ms

Page size 170.04KB

Requests: 27

Google PageSpeed Insights – Mobile Score: 94/100; Desktop 100/100.

Flicking between pages was for a human user: Generally good.

State 13: Stage 12 + LiteSpeed Cache Enabled 637ms

Database cleaned. Settings include:

CDN

QUIC.cloud CDN ON; Use CDN Mapping OFF (Cloudflare doesn’t use CDN Mapping); Cloudflare API ON.

Page Optimisation

CSS Minify ON; CSS Combine ON; CSS Combine External and Inline ON; CSS HTTP/2 Push OFF; Load CSS Asynchronously OFF; Generate Critical CSS ON; Generate Critical CSS In Background ON; Inline CSS Async Lib ON; Font Display Optimisation SWAP. JS Minify OFF; JS Combine OFF; JS Combine External and Inline ON; JS HTTP/2 Push ON; Load JS Deferred ON; Load Inline JS DEFERRED. HTML Minify OFF. DNS Prefetch Control ON. Remove Query Strings OFF. Load Google Fonts Asynchronously ON. Remove Google Fonts OFF. Remove WordPress Emoji ON. Remove Noscript Tag ON. Lazy Load Images OFF. Responsive Placeholder OFF. LQIP Cloud Generator OFF. Generate LQIP In Background ON. Lazy Load Iframes OFF. Inline Lazy Load Images Library OFF. Gravatar Cache OFF. Gravatar Cache Cron OFF. Localise Resources ON.

Page load time 530ms, 744ms

Page size 160.58KB

Requests: 21

Google PageSpeed Insights – Mobile Score: 94/100; Desktop 100/100.

Flicking between pages was for a human user: Very Good.

State 14: Stage 13 – Automatic Platform Optimization for WordPress (switched OFF) & Polish (OFF – WebP) 361ms

Lightspeed Cache settings as in Stage 13. I also lightened the site load by blocking traffic from countries I don’t currently do business with and are known cyber pests – Brazil, Russia, China, Vietnam, Ukraine, India, Thailand, Israel, Kazakhstan, Serbia & Armenia.

Page load time 665ms, 371ms, 739ms, 448ms, 243ms, 586ms, 254ms, 225ms, 268ms, 334ms, 294ms, 376ms, 211ms, 230ms, 247ms, 390ms, 250ms

Average page load speed 361ms

Page size 160.58KB

Requests: 21

Google PageSpeed Insights – Mobile Score: 93/100; Desktop 100/100.

Flicking between pages was for a human user: Excellent.

So 14 steps later I’ve managed to take my page load time from Average page load time 628ms to Average page load speed 361ms which represents a gain of 267ms or 42.5% from where I started.

State 15: Stage 14 – WAP (OFF) 393ms

Page load time 323ms, 651ms, 373ms, 269ms, 259ms, 241ms,323ms, 489ms, 808ms, 280ms, 241ms

Average page load speed 393ms

Page size 160.46KB

Requests: 21

Google PageSpeed Insights – Mobile Score: 96/100; Desktop 100/100.

Flicking between pages was for a human user: Excellent. Back end access less than excellent.

State 16: Stage 15 + Web Application Firewall WordPress Specific Rules ONLY enabled 318ms

So WAP back on but with ONLY Cloudflare WordPress enabled. EVERYTHING ELSE OFF.

Page load time 276ms, 359ms

Average page load speed 318ms

Page size 160.46KB

Requests: 21

Google PageSpeed Insights – Mobile Score: 97/100; Desktop 100/100.

Flicking between pages was for a human user: Excellent. Back end access very good.

State 17: Stage 16 + Web Application Firewall Php Specific Rules enabled 369ms

So Cloudflare Php now also enabled.

Page load time 441ms; 240ms; 345ms; 558ms; 262ms

Average page load speed 369ms

Page size 160.88KB

Requests: 21

Google PageSpeed Insights – Mobile Score: 96/100; Desktop 100/100.

Flicking between pages was for a human user: Excellent – both back and front end crisp.

Scroll to Top