DNS 粘合记录对于小型网站更有益吗?

DNS 粘合记录对于小型网站更有益吗?

好吧,假设您拥有 someSmallSite.com。它的 NS 名称服务器是ns1.hostgator.com。Hostgator 的 NS 服务器是ns1.p13.dynect.net。它的 NS 记录是 ,ns0.dynamicnetworkservices.net它具有相同域的相同(粘合)记录。

假设有人尝试解析 someSmallSite.com。由于这是一个小型网站,大多数 DNS 服务器可能没有任何缓存。因此,必须进行 3 次往返才能找到 someSmallSite.com 的实际权威 DNS 服务器。(解析ns1.hostgator.com,然后解析ns1.p13.dynect.net,最后解析 ,ns0.dynamicnetworkservices.net其中包含 DNS 服务器的实际 IP 地址)。

如果您为 someSmallSite 创建粘合记录,而不是使用共享主机(如 Hostgator)的 DNS,那么您是否可以避免 3 次往返来解析 NS 记录,然后解析 NS 记录的 NS 记录等,直到最终获得 DNS 服务器的 IP 地址?

如果我的逻辑是正确的,那么这是否意味着为小型网站添加粘合记录在实践中比大型网站更有益,因为大型网站可能已经在缓存中解析了所有这些 NS 服务器 + 它们更有可能位于具有 IP 粘合记录的 DNS 服务器上,而不是指向指向另一个 DNS 服务器的另一个 DNS 服务器等。

答案1

您说得对,添加粘合记录(ns1.somesmallsite.com例如,添加到)可以在解析您的网站地址时节省一些查找。

但是,由于 DNS 缓存,差异可以忽略不计。

您自己的胶水记录

如果网站流量很少,则粘合记录不太可能缓存在任何给定的 DNS 服务器上,这反过来会在发出请求时受到轻微的惩罚。

采用这种方法,很有可能针对somesmallsite.com NS权威.com名称服务器进行一次查找。

共享胶水记录

另一方面,当您的网站NS记录指向 时ns1.hostgator.com,该地址很可能被世界各地的 DNS 服务器缓存,对于ns1.p13.dynect.net、 和 也是如此ns0.dynamicnetworkservices.net,这意味着每次对您的域进行查询时不会重复这些查找。

NS不过,由于您自己的域名相对不受欢迎,因此它的记录不太可能被缓存在缓存中。

仍然有很高的可能性对 进行一次查找somesmallsite.com NS,另外还有很小的可能性需要对ns1.hostgator.comns1.p13.dynect.net和进行查找ns0.dynamicnetworkservices.net

答案2

理论上可能会有一点不同,但是在实践中这不会产生太大的影响,因为

  • 通过使用更长的时间,您可以轻松地对此产生更大的影响TTL比较常见84600灾难恢复 300
  • DNS 查询在每一层都被缓存递归DNS 服务器,甚至本地:只有一组查询权威性DNS 服务器会出现,即使可能会有更多轮次。
  • DNS 数据包很小:最大有效载荷小于 512 字节(+ 20 字节 IPv4 和 8 字节 UDP)标题)。
  • 你所做的一切DNS 查询的规模和重复次数都更大。

所以这个问题并不实际。例如,通过从网站中删除一个背景元素,你可以获得更多。

展示不同因素如何影响最初的页面下载速度 我测试了在没有任何浏览器缓存的计算机上从没有缓存 DNS 的域加载 Serverfault.com 的首页。然后我使用 Google Chrome 的时间轴工具

  • 在没有缓存的情况下,DNS 查询总共花费 68 毫秒(而当已经缓存时仅花费 4 毫秒)。
  • 花费了 457 毫秒才获得响应,即启动了 HTTPS 连接。
  • 页面加载和渲染总共耗时 941 毫秒:59 毫秒加载中,350 毫秒脚本,153 毫秒渲染,14 毫秒绘画,279 毫秒其他和 86 毫秒闲置的

DNS 查询往返次数只有在首次访问域时才会产生差异。这个 StackExchange 网站的用户体验(我认为相当简单)是第一个页面需要 1.466 秒才能加载。其中不到 5% 的延迟与 DNS 有关。即使 DNS 查询时间增加一倍,也不会对用户体验产生任何显著影响,因此在实践中无益

相关内容