机房360首页
当前位置:首页 » 技术解构 » Google免费公共DNS服务器提速四大法宝

Google免费公共DNS服务器提速四大法宝

来源:51CTO 作者:机房360 更新时间:2009/12/6 19:36:03

摘要:Google推出了“Google免费公共DNS服务器”据Google官方声称,Google DNS的目标是速度、安全性和有效性,它意味着完全没有劫持、没有阻截、没有过滤的DNS查询,而且速度飞快。那么为什么Google敢说自己的DNS服务器速度快呢?

    Google推出了“Google免费公共DNS服务器”据Google官方声称,Google DNS的目标是速度、安全性和有效性,它意味着完全没有劫持、没有阻截、没有过滤的DNS查询,而且速度飞快。那么为什么Google敢说自己的DNS服务器速度快呢?Google官方出具了一份文档说明,我们这就来看一看。 

    为何传统的DNS服务器缓慢

    随着网页越做越复杂,引用的资源可能来自多个域,于是DNS查找成为网页浏览过程的瓶颈。无论何时,客户端需要查询DNS服务器的时候,由于要查询的DNS服务器数量和它所处的地理位置不同,时间延迟有很大的差异。例如,下图显示由PageSpeed测量出的浏览一个网页时时间都花到哪些动作上了,每个条块表示网页中引用的一个资源,黑色区域表示DNS查找所花掉的时间,在这个页面中,前11秒执行了13次DNS查找,虽然很多查找是并行执行的,图中显示仍然有5个串行查找时间,它们就占据了11秒的大部分时间。



    DNS延迟由两部分组成

    1、在客户端(用户)和DNS服务器之间的延迟,受网络通信情况的约束,这个时间所占的比例是非常大的,如客户端和服务器之间的距离,网络拥塞,数据包丢失和长时间重传延迟,服务器本身超载运行,拒绝服务攻击等。

    2、DNS服务器之间的延迟,这种延迟主要是以下因素造成的: 
    (1)缓存丢失。如果某个查询请求不能从缓存中直接返回结果,请求就会递归查询其它DNS服务器,如果遇到根服务器出现这种问题,那影响更厉害。 
    (2)如果DNS服务器超载运行,所有查询请求必须排队。 
    (3)恶意流量。拒绝服务器攻击可以给DNS服务器带来过度的负载。

    我们认为缓存丢失是DNS延迟最主要的因素。

    缓存丢失

    即使DNS服务器有充足的本地资源,但与远程DNS服务器之间的延迟是不可避免的,当本地缓存丢失时,解析器至少需要和一个其它DNS服务器沟通,有时甚至是两个或多个,通过对Google搜索的观察,我们发现平均每次解析时间需要130毫秒,由于UDP包丢失或服务器不能响应,大约有4-6%的搜索请求会超时。如果我们采取措施解决如数据包丢失,死掉的DNS服务器,或DNS配置错误,那响应时间会上升到300-400毫秒。

    虽然各个DNS缓存丢失率不尽相同,但由于以下原因,缓存丢失是不可避免的: 
    1、互联网规模在不断变大。随着互联网爆炸式增长,不断有新用户和新的网站加入,互联网内容已经非常庞大。 
    2、TTL值。DNS TTL值降低的趋势迫使任何解析都需要频繁的查找。
    3、缓存隔离。DNS服务器通常都采用了负载均衡技术,每个独立的服务器都维护一份独立的缓存,而不能共用共享缓存池中的解析。

本文地址:http://www.jifang360.com/news/2009126/n33593448.html 网友评论: 阅读次数:
版权声明:凡本站原创文章,未经授权,禁止转载,否则追究法律责任。
相关评论
正在加载评论列表...
评论表单加载中...
  • 我要分享
更多
推荐图片