考虑这个例子。我的浏览器访问以下 URL:
foo.foobar.com
域名上的页面会创建一个 iframe
bar.foobar.com
两个域名均托管在 AWS Route53 中,作为别名 A 记录 => CloudFront
DNS 查找时间会对性能产生哪些影响?
我的公司关心的是毫秒。
答案1
它将生成以下内容:
- 进行一些查找以查找 foobar.com. 名称服务器。这取决于上游服务器缓存中的内容。最坏情况下有三次查找(.、com. 和 foobar.com.)
- foo.foobar.com 的 DNS 查找。
- [IP_Foo] 的 HTTP 请求
- 带有针对 bar.foobar.com 的 iframe 的 HTTP 响应。]
- foo.foobar.com 的 DNS 查找。
- [IP_Bar] 的 HTTP 请求
- HTTP 响应
因此,iframe 会增加一些延迟。如果所有内容都托管在 foo.foobar.com 上,则看起来会像这样:
- 进行一些查找以查找 foobar.com. 名称服务器。这取决于上游服务器缓存中的内容。最坏情况下有三次查找(.、com. 和 foobar.com.)
- foo.foobar.com 的 DNS 查找
- [IP_Foo] 的 HTTP 请求
- HTTP 响应
我发现检查这一点的最佳方法是打开 Google Chrome 中的开发者控制台,方法是按Ctrl + Shift + C
,单击“网络”选项卡,然后重新加载页面。它会显示页面每个元素的加载时间,但它不会单独显示 DNS 请求。如果您想查看 DNS 请求,您可以在测试机器上运行 Wireshark 以查看 DNS 查询何时发出。
尽管影响应该非常小,但你确实说过你对毫秒感兴趣。