Hi
I have been benchmarking CloudFront (without cache) and Global Accelerator and I don't really understand results of the latter one.
Setup
Web application in Ireland, delivering static content for testing (jpeg, js, html...) on EC2.
Application Load Balancer in front.
CloudFront test
I created a global CloudFront distribution without any caching in order to utilize private AWS backbone network. The goal was to decrease network latency between Ireland (server) and Japan/US (client). I compared file download times with and without CloudFront. I.e., direct connection from Japan/US to Ireland via public Internet vs. via CloudFront. Results were good, on average file (js, jpeg, html...) download duration was ~50 % via CloudFront vs. direct connection to ALB in Ireland.
Global Accelerator test
I performed equal test to CloudFront test but by using Global Accelerator and two static IP addresses. I expected to see similar improvements in download speeds but I was wrong. Duration of file download was just slightly decreased when downloading via either GA IP. In contrast, in Europe area it was slower to download files via GA than it was via direct connection to ALB.
I checked traceroute resulsts from Japan and US to web app (Ireland/ALB) with and without GA. I did verify that with GA there are much less hops as it is jumping into AWS network via edge node.
Do I have understood something wrong in GA, or why it is not improving download performance in way CloudFront does? Is it related to the implementation of CloudFront where it keeps TCP connections warm/open from edge to backend and GA is not doing that?