You're welcome to bench it for yourself, someone in this channel once claimed that using a tunnel did give them a small latency improvement.
Tunnels used to be tightly integrated with Argo (To the point where you couldn't use one without the other) and recently they did work to decouple them into two separate products which is what you see today and why setting up a tunnel doesn't give you the dramatic (but expensive) latency improvements that Argo does anymore
Argo is only so effective and expensive because there is a lot of clever routing logic going on in the backend, its constantly learning and adapting to squeeze every last ms saving out of connections
Where did you find that chart? I'm trying to figure out my benchmarking methodology that won't be screwed by delays in the origin app, and not sure how to enable/disable Argo routing for a specific Tunnel/subdomain. I can see only one big On/Off button for the entire account.
We have AWS Global Accelerator routing the origin (for the same reasons as what Argo should do) and I'd love to benchmark with/without Argo/Global Accelerator to see what works for us.
If I understand it correctly having both enabled would use Argo to route to AWS's global network which.. wouldnt really achieve anything, and then AWS Global Accelerator would take over and do the actual routing, rendering Argo completely useless
I think so too. So I'd want to measure performance of "Edge -> CF Argo -> CF Tunnel -> Origin" vs "Edge -> AWS Global Accelerator -> origin". Seems this will be difficult to do now if I have only one on/off switch. Will need to create a different account.
Yes, benchmarking the network can be like reading tea leaves. For this case, I'd setup a simple echo page for each network route, and run WebPageTest / SpeedVitals on it.
I care somewhat. Right now, to my best measure, routing everything through a Cloudflare Worker adds 80-250ms latency (as compared to routing directly to origin). This is acceptable, but 500ms wouldn't be. Our specific use-case is an SPA with API calls, so it's mostly plaintext and relatively little bandwidth.