当前位置: 代码迷 >> Web前端 >> 80/20准则和HTTP Request
  详细解决方案

80/20准则和HTTP Request

热度:229   发布时间:2012-11-23 22:54:33.0
80/20原则和HTTP Request

原文

80/20性能原则

Vilfredo Pareto 一个1900年前的经济学家,说了句特精辟的话,80%的财富是属于20%的人的(我就是那20% ),后来这句话被很多领域证明,它几乎成了一个万能定律,人们把它叫做帕累托原则(更有名的叫法是80-20原则),软件行业对这句话的解释是:80%的时间被花到20%的代码上。所以当我们优化我们的代码时,我们应该关注那20%的代码,这个理论也可以用在优化web页面上,在web优化方面,当前,大部分优化工作是在如何产生HTML文档方面(apache, C++, databases,等),但是这种对用户的响应时间优化工作只是对那20%进行的,我们的关注点应该放到那80%上。

用一个数据包嗅探器,我们可以发现响应时间的80%是发生在什么地方,表1中的图形视图(graphical view )是在没有缓存的情况下,请求http://www.yahoo.com所花的时间生成的图表,每一个横条代表一个特定的组件在浏览器中显示出来所花的时间,第一个横条是只显示HTML文档所花的时间,可以看出来,显示HTML文档只花了总时间的10%不到,apache把所有的HTML缝合到一起然后返回到浏览器(and for apache to stitch together the HTML and return the response back to the browser.)(不会翻译这句话) 剩下的90%的时间用于显示图片、js、css等组件上

loading http://www.yahoo.com

表1说明了当前主流的web站点花费5%到38%的时间下载HTML文档,其余的62%到95的时间花费在HTML页面中的其他组件中(比如:图片、js、css等),由于在每一个并联的主机上,浏览器只能下载2到4个组件,使得如果一个页面的很多组件的话,会使页面的性能更低,我们的经验表明减少HTTP请求数对页面响应时间的影响是最大的(也就是说,减少HTTP请求数是最好的优化方法,这句话是我自己加的,呵呵),也是最简单的提高响应时间的方法

?

table 1. Time spent loading popular web sites Time Retrieving HTML Time Elsewhere Yahoo! Google MySpace MSN ebay Amazon YouTube CNN
??????????? 10% ????????? 90%
??????????? 25% ?????????? 75%
??????????? 9% ??????????? 91%
??????????? 5% ??????????? 95%
??????????? 5% ??????????? 95%
??????????? 38%

??????????? 62%

???????????? 9% ??????????? 91%
???????????? 15% ??????????? 85%
1 楼 everlasting_188 2009-05-21  
写的不错,非常好!!!!
2 楼 damoqiongqiu 2009-06-02  
如何去减少HTTP请求数呢?假如条件有限的话
  相关解决方案