DNSparsing速度

我试图加快我的网页加载时间在遥远的地方。

我的服务器位于德国,我在加州洛杉矶安装了第二台服务器。

然后,我将BINDconfiguration为为来自欧洲和亚洲的客户提供来自美洲和德国知识产权的客户的LA IP。

尽pipe似乎还有空间将DNS和名称服务器的响应时间缩短几十毫秒。

目前,为我的域名提供服务的名称服务器都位于德国,根据我的理解,导致客户没有DNS域名的延迟。 我在这里吗?

  • 如果我将其中一个名称服务器移动到洛杉矶会减lessDNSparsing时间?
  • 如何在名称parsing期间select要查询的名称服务器?
  • 例如,指定了两个NS:ns1.domain.com,它位于DE中,ns2.domain.com位于US中。 哪一个会被查询? 它有助于指定IP而不是ns1.domain.com?

我同意ceejayoz的评论:如果国际存在是一个问题,你应该使用一个国际存在的DNS提供商。 在实践中,这是您所关注的问题的唯一成本有效的解决scheme。 也就是说,您主要从国际DNS存在中获得的不是响应时间低,而是可靠性高 ,因为您的存在不太可能受到区域之间主要路由问题的影响。

  • 由于在大多数客户端的ISP级别应该发生DNScaching,试图优化DNS以实现更快的页面加载时间通常是一个误导的问题。 一旦DNSlogging被查找,随后的请求会被远程服务器logging一段时间,与loggingTTL相关联。 确保你已经确定了一个实际问题,然后再继续朝这个方向发展。 (DNS真的是这里的问题吗?有多less延迟?这是一个真正的networking问题吗?)
  • DNS旨在实现低延迟和容错。 除非其中一台DNS服务器返回错误的数据,或者DNS基础设施本身的devise存在缺陷 ,否则通过运行基础架构解决此问题所带来的性能收益并不是非常划算。
  • 所select的权威名称服务器是随机的。 与DNS转发器(通常在您的专用networking上设置)不同,大多数recursion/cachingDNS服务器不会尝试记住哪个授权服务器返回域的最快响应。 他们将试图避免与多个名称服务器通信,除非第一个名称服务器没有及时响应。 他们记住,如果一个服务器没有响应一个请求,但没有超过五分钟,只有失败的请求将不会被重新尝试对该服务器。 (其他人仍然是公平的游戏)

根据我的经验,在大多数情况下,你的情况下,人们试图解决这个问题正在追逐一个红鲱鱼。 如果不是 ,那么DNS服务器本身就存在问题,它们运行得如何,还有它们所在的networking。

出于以上所有原因, 我们强烈build议人们不要运行自己的权威DNS服务器 。

如果我将其中一个名称服务器移动到洛杉矶会减lessDNSparsing时间?

“这取决于”:查询位于洛杉矶的名称服务器的机器:是的。 对于查询这个名称服务器的机器,例如在德国,它会增加parsing时间。

如果你想检查查询机器的位置,并把拓扑最接近的名字服务器,你将不得不介绍例如Anycast ,“这是一种networking寻址和路由方法,其中来自单个发送者的数据报被路由到拓扑尽pipe它可能被发送到几个节点,所有节点都由相同的目标地址标识。

如何在名称parsing期间select要查询的名称服务器?

AFAIK,这是随机的。 你不能预测这一点。

例如,指定了两个NS: ns1.domain.com ,它位于DE中, ns2.domain.com位于US中。 哪一个会被查询? 它有助于指定IP而不是ns1.domain.com

有时你会从ns1.domain.com得到答案,有时候会从ns2.domain.com得到答案。 你无法预测或影响这一点。

根据RFC 1035 , NSlogging的数据是“一个域名,它指定了一个对于指定的类和域应该是权威的主机”。 所以你不能使用IP而不是ns1.domain.com

编辑:也许线程实用选播和/或我怎样才能使用DNS发送访问者到最近的服务器? 对你也有帮助