Hacker News new | ask | show | jobs
by hnav 1339 days ago
TLDR, adding an "edge" in front of your application incurs a connection setup cost which can be 2-3x RTT and is especially noticeable when you don't have a large QPS and are in a region like APAC where geographically close networks often have high latencies between each other. Both Argo and OriginShield seem to pool more aggressively, often going cross-datacenter to avoid hitting origin which sometimes saves this setup cost by coalescing onto warm connections, but only sometimes (notice how spiky their Argo graphs are, the p90 request is probably no faster than before).
2 comments

depending on your origin and your users, having TLS terminate / be negotiated at the edge should _reduce_ your connection setup cost, by reducing RTT time for the handshake to the end user (typically the slowest bit / longest tail).

If you have 1 origin region/server and globally distributed users, in the data shown the RTT from Sydney could be 1000ms, so TLS negotiation of 3 roundtrips could be 3000ms. If you terminate TLS at the edge that could be order of magnitude less.. not more? depends on your setup though.

This is true, on average having an edge will be faster, but it is not a panacea for latency, especially if you don't move non-trivial QPS from every region.
Surely the cost is offset by cached responses?