连接到 www6.example.com 中的 ipv6 子域需要很长时间。在 chrome 中,网络选项卡显示“连接”花费了 20 秒。其他时间都快得多。
但是只有前两个连接比较慢(有时需要 21 秒、41 秒、24 秒)。后面的请求都远低于 1 秒。等待约 2 分钟后,前两个请求再次变得非常慢。
通过 ipv4 子域 www.example.com 调用同一服务器(同时)速度相当快。
通过 ipv6 (同时) 调用其他服务器也相当快。
服务器上运行的是带有 haproxy 的 ubuntu precise。处理的大多数流量是 ipv4。
服务器端出了什么问题,导致连接建立需要这么长时间?
我很高兴听到任何见解,并渴望提供更多信息。
编辑:添加了来自 chrome 的屏幕截图。
答案1
当我解析您的域名时,我会得到三个不同的 AAAA 记录:
www6.plista.com. 1800 IN AAAA 2a01:4f8:160:5102::2
www6.plista.com. 1800 IN AAAA 2a01:4f8:151:5021::2
www6.plista.com. 1800 IN AAAA 2a01:4f8:191:8075::2
我只能访问其中一个 IP 地址 ( 2a01:4f8:160:5102::2
)。当我尝试连接其他两个 IP 地址时,连接就挂起了。
21 秒是 Windows 在从 IPv6 回退到 IPv4 之前使用的超时时间。当域名根本没有 IPv4 地址时,从第一个 IPv6 地址切换到下一个 IPv6 地址时,相同的超时时间可能适用。
41 秒大约是两倍,这听起来就像您在浏览器必须尝试所有三个地址的情况下所期望的那样。