浏览器并发量

由于在http协议中有对浏览器并发请求连接数的限制,

1.1版本中规定了是2个(浏览器实现的时候比这个数字要大很多),于是通常的优化网站加载速度的方法是采用多个域名增加浏览器对同一网页的请求并发连接数。

不过很多时候我们为了效率还想得到更高的并发连接数,比如说我们总会看到一些大网站采用独立域名或者二级域名来设置专门的图片服务器,其实有一部分原因就是为了增加并发连接数。至于使用独立域名还是二级域名的差别在于Cookie的影响,当使用和主站根域名相同的二级域名时,请求的同时也会捎带着传递主站根域名的Cookie,而使用和主站根域名不同的独立域名时,则不会受主站根域名Cookie的影响,所以带宽占用会更小一些。

对于开发者,可以通过Javascript来探测浏览器当前生效的连接数:
    window.maxConnectionsPerServer
    window.maxConnectionsPer1_0Server

再看看Firefox的相关配置:

在Firefox地址栏中输入:about:config

然后在配置页面中搜索:max,可以看到network.http.max-connections的值是30,

network.http.max-persistent-connections-per-server的值是6

也都不是协议所规定的2。

如图所示:

max-persistent-connections-per-server

这里要搞清楚这些参数都分别代表什么意思,max-connections 浏览器最多能同时打开的连接数,如果超过这个值,性能就很快下降了,浏览器该怎么处理呢?阻止?

怎样测试这些参数改变对加载的影响呢?

 

需要说明的是HTTP1.1下以network.http.max-persistent-connections-per-server的指为准,这是因为HTTP1.1下缺省都是持久连接,反之如果是HTTP1.0,则以network.http.max-connections-per- server为准。

 

 

附:ff的一些设置

1、network.http.max-connections [整数]决定同时能够打开多少http连接。默认值是24,如果你的网络连接够快,可以尝试增大此值,最大值为65535。但要注意的是,增大该值仅仅增大了同时打开http连接数目的可能,你并不能强迫firefox每次都打开那么多的http连接。
2、network.http.max-connections-per-server[整数]决定在单个服务器能够同时打开的连接数。默认值为8,你可以增大此值来加快浏览速度,最大值为255。但要注意的是,此值改的太大,一些服务器会认为你在进行DDoS攻击,从而拒绝你的连接请求。事实上,如果所有的firefox用户都不理智的把此值改的太大,大多数站点的浏览速度不会得到提升,反而会非常慢。
3、network.http.max-persistent-connections-per-proxy [整数]假如你使用的是代理,该值决定同时有多少连接处于活动状态。默认值为4,可以适当增大此值加快浏览速度。但要注意的是,此值改的太大,会增大代理服务器的压力,从而影响每个使用该代理的用户的浏览速度。
4、network.http.max-persistent-connections-per-server [整数]假如没有使用代理,该值决定在单个服务器上同时有多少连接处于活动状态。默认值为2,可以适当增大此值加快浏览速度,最大值为255。但要注意的是,此值改的太大会增大服务器的压力,从而有可能被该服务器拒绝连接请求。
5、network.http.pipelining [布尔值]决定是否使用HTTP Pipelining特性,建议设置为true,加快浏览速度,尽管该特性不是所有的服务器和代理都支持。
6、network.http.pipelining.maxrequests [整数]决定使用HTTP Pipelining特性时发送的最大连接请求。默认值为4,最大值为8,比8大的值会被忽略,1表示不使用HTTP Pipelining特性,建议将该值设置为8。
7、network.http.proxy.pipelining [布尔值]决定是否在使用代理时使用HTTP Pipelining特性。建议设置为true,要注意的是,该值有效的前提是network.http.proxy.keep-alive值为true。

 

这里pipelining 里面的requests和max-connections不太一样,具体区别再查资料

posted @ 2012-02-07 17:55  加油戈多  阅读(418)  评论(0)    收藏  举报