Chinaunix首页 | 论坛 | 博客
  • 博客访问: 134366
  • 博文数量: 57
  • 博客积分: 2500
  • 博客等级: 少校
  • 技术积分: 580
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-04 22:57
文章分类

全部博文(57)

文章存档

2011年(1)

2010年(1)

2009年(55)

我的朋友

分类: 系统运维

2009-05-22 23:47:36

减少DNS查询
 
域名系统(DNS)就是将主机名称映射为IP地址,就像地址簿将人的名字对应到他们的电话号码一样。当你输入到你的浏览器时,一个连接到你的浏览器的DNS解析器返回该服务器的IP地址。DNS查询是有代价的。通常,需要20-120毫秒查找特定主机名的IP地址。在DNS查询完成前,浏览器无法从该主机下载任何东西。
 
为了更好的性能表现,DNS查询是被缓存的。在一个特殊的缓存服务器上可以缓存这些信息,它由用户的ISP或局域网设备维护,同时用户的计算机也由缓存。DNS信息仍保留在操作系统的DNS缓存中(在Microsoft Windows里是“DNS Client Service”) 。大多数浏览器都有自己的缓存,它们独立于操作系统的缓存。只要浏览器在自己的缓存中有了DNS记录,它不会为每个请求都访问操作系统中的记录。
 
默认情况下,Internet Explorer的DNS查询缓存是30分钟,可以在注册表里设置DnsCacheTimeout的值来改变。 Firefox的DNS查询缓存是1分钟,可以在配置里设置network.dnsCacheExpiration的值来改变。(Fasterfox将这个值改成了1小时。)
 
当客户端的DNS缓存是空的(包括浏览器和操作系统),DNS查询数目等于网页中独立的主机名数量。这包括在网页的网址,图片,脚本,样式,Flash等等的URL中。减少独立的主机名数量就减少了DNS查询次数。
 
减少了独特的主机名有可能减少该网页中并行下载的能力。避免DNS查询减少了响应时间,但是减少并行下载能力可能会增加响应时间。我的准则就是这些组件至少两个主机名,但不超过4个。这样做就可以很好的折衷减少DNS查询,并有高度的并行下载能力。
阅读(1152) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~