减less由CDN引起的过多的DNS查询

下面是我的情况,我最近在CDN上设置了几个我的网站(特别是通过Edgecast的MediaTemple的ProCDN)。 安装程序完全正常,但几天后,我注意到这一点:(平均每天15K到600K) DNS查询使用情况图

现在我的域名/ cdn设置如下:

  • 我有digitaldawn.net自定义名称服务器
  • 所有补充域都指向这些域名服务器
  • 所有补充域都有cname设置为cdn.domain.com
  • 这些cname指向Edgecast起源即。 http://wpc.XXXX.edgecastcdn.net/XXXXXX
  • 边缘起源本身从http://www.domain.com:80获取内容。 即。 http://cdn.domain.com/an-image.jpg将成为http://www.domain.com/an-image.jpg的内容分发版

首先,我的设置会考虑DNS查询的这种过度增加吗? (目前有CDNS设置的网站只有最less的访问者(每天可能less于10个))。

其次,提供这个是非常正常的,有什么办法可以避开这个? 我有通过DNS轻松pipe理的一千万个查询,以目前的速度,我将成为一个没有桨的特定小河…

我想我可以通过托pipe每个域名在一个静态的IP和设置来源静态IP地址,但是这是远远不理想的,因为我有很多网站回避一半。 还有其他的select吗?

太多的DNS请求的主要原因是太低的TTL。 你的低,但不是疯狂的低。 (我已经在生产系统中看到了60和1作为TTL。)

digitaldawn.net. 1800 IN A 109.73.163.166 www.digitaldawn.net. 3600 IN A 208.94.146.71 www.digitaldawn.net. 3600 IN A 208.94.146.70 www.digitaldawn.net. 3600 IN A 208.94.146.80 www.digitaldawn.net. 3600 IN A 208.94.146.81 cdn.digitaldawn.net. 1800 IN CNAME wpc.7b5c.edgecastcdn.net. wpc.7b5c.edgecastcdn.net. 3600 IN CNAME gs1.wpc.edgecastcdn.net. gs1.wpc.edgecastcdn.net. 14400 IN A 93.184.221.133 

除非你每天更改这些域指向的IP地址,否则将TTL改为86400(24小时)更好。 如果您可以确信在TTL中至less有一段时间可能需要更改IP地址,则可以更高一些。

对于cdn.digitladawn.net子域,即使将该TTL设置为86400,只有上述输出中的该行将被caching24小时。 如果wpc.7b5c.edgecastcdn.net响应发生变化,所有客户端应该在最多一小时后提取新值(现在忽略忽略TTL的那些DNS服务器)。

导致我看到的太多DNS请求的另外两个原因是太多的客户端(比如说,成千上万的边缘CDN服务器都在攻击你的权威域名服务器)或者一个行为不当的客户端(可能是你自己的服务器上的一个脚本)每秒查找数十次。 一个这样的例子可能是使用backend.digitaldawn.net作为其上游服务器的反向代理,并且针对它必须代理的每个HTTP请求对该域做出DNS请求。 将DNScaching添加到该服务器或在生产环境中运行您自己的权威名称服务器可以解决此问题。

如果您可以获得更好的名称服务器统计信息(例如查找所有客户端的IP地址),那么您可能可以诊断出这类问题。