网页效率之DNS查找和并行下载

 更新时间:2008年07月25日 10:12:13   作者:  
首先,一个页面所需要访问的域名数量为n,那么就需要n次DNS查找,而DNS查找通常是blocking call,就是说在得到结果之后才能继续,所以越多的DNS查找,反应速度就越慢;
雅虎的YSlow插件的规则之一:Rule 9 – Reduce DNS Lookups提到:

Reducing the number of unique hostnames has the potential to reduce the amount of parallel downloading that takes place in the page. Avoiding DNS lookups cuts response times, but reducing parallel downloads may increase response times. My guideline is to split these components across at least two but no more than four hostnames. This results in a good compromise between reducing DNS lookups and allowing a high degree of parallel downloads. 

说说自己的理解:

首先,一个页面所需要访问的域名数量为n,那么就需要n次DNS查找,而DNS查找通常是blocking call,就是说在得到结果之后才能继续,所以越多的DNS查找,反应速度就越慢;

其次,并行下载(parallel downloading)由两个因素决定:到服务器的连接数量,以及每个连接内部的流水线请求数量。

一个页面里到服务器的连接数量由两个因素决定:

页面所需访问的域名数量,和 
浏览器所允许的最多连接数 
后者在Mozilla/Firefox中还由浏览器所允许最多连接数(network.http.max-connections,缺省为24),和每个服务器所允许的最大连接数(network.http.max-connections-per-server,缺省为8)决定。如果max-connection-per-server是m,那么一个需要访问n个不同域名的主机的页面,最多可以有n*m个连接 - 前提是n*m小于max-connections的值;

每个连接内部的流水线请求(pipelined requests)的数量也是浏览器的参数(Firefox上由network.http.pipelining来设置,缺省为4),前提是服务器支持persistent connection(比如在Apache设置KeepAlive为On)。之前的例子就不需要那么多的连接了(对服务器和浏览器来说,一个连接里多个流水线请求能够比多个并行连接更好些),假设pipelining的值为p,那么就可以只使用n*m/p个连接了。(BTW,对Firefox做优化的一些插件其实就是对上面的几个设置做调整)

所以减少页面内不同hostname的数量不一定会减少并行下载的数量,也要看所需要的请求(css, javascript, 图片等)的数量,因此YSlow的解释说是potentially。

相关文章

  • 搜索引擎对关键词作弊判断方法揭密

    搜索引擎对关键词作弊判断方法揭密

    搜索引擎关键词作弊,网页作弊,网站作弊方式及方法,意欲在不影响网站美观的前提下通过包含大量关键词的网页提高关键词相关性得分,从而达到改善搜索引擎排名的目的。
    2007-12-12
  • 有感于“站长们,拿出你们的尊严来!”而发

    有感于“站长们,拿出你们的尊严来!”而发

    读了这篇文章,深有感触,现在好多朋友是这样的了,网上源码到处飞,病毒网站经常见,为了有IP恶意造词而又又无实质内容的比比皆是,一个单子你800就做,而你缺程序一点都不能写,这样的人做出来的东西,能有多好。
    2007-12-12
  • 如何防止IE缓存页面文件

    如何防止IE缓存页面文件

    如何防止IE缓存页面文件...
    2007-01-01
  • HTTP错误类型小结

    HTTP错误类型小结

    HTTP错误类型常识,大家应该了解,以便我们快速的知道,网页出现了什么问题
    2008-11-11
  • pv是什么的真正含义?

    pv是什么的真正含义?

    pv是什么的真正含义?...
    2007-03-03
  • Google Adsense优化心得

    Google Adsense优化心得

    前言: 网上关于Google Adsense优化的心得有很多,google或者baidu一下,你就会得到令你眼花缭乱的各种版本的介绍。 有文章说正文环绕广告效果很好,同时也说正文最后分页链接的地方放置google adsense内容广告效果也很好,但同时又说一个页面最好放置一个广告单元。让站长朋友很迷茫,不知道究竟该如何调整广告单元。
    2008-04-04
  • 创建高性能的 Web 页面

    创建高性能的 Web 页面

    首先,感谢 圆心 和 小马 主持这次的技术交流会。此次关注的是 客户端的效率问题 ,根据 Yahoo 的总结,可以总结下面 14 条“军规”。
    2008-03-03
  • pjblog中添加各种GOOGLE广告的方法总结

    pjblog中添加各种GOOGLE广告的方法总结

    pjblog中添加各种GOOGLE广告的方法总结...
    2007-03-03
  • 综合门诊|技巧收集|DIY综合实用技巧

    综合门诊|技巧收集|DIY综合实用技巧

    综合门诊|技巧收集|DIY综合实用技巧...
    2007-05-05
  • 网站的反采集技术

    网站的反采集技术

    网站的反采集技术...
    2006-08-08

最新评论