Happy Eyeballs
Connection Attempt Delay Test
We set up a server with as many unique IPv4 and IPv6 addresses as measured delays. Each delay has a corresponding IPv4 and IPv6 address bound to all subdomains of a delay-specific domain name. By using tc netem, we delay the traffic for the IPv6 address by the configured number of milliseconds. This enables us to test how browsers deploy Happy Eyeballs.
We randomize domains to prevent caching effects on the browser's side. The measurement without randomization shows us if the browser does any caching or uses performance measurements to select IP versions.
Settings