并行化浏览器请求

时间:2014-04-30 12:30:34

标签: performance http browser request

我们遇到的情况是,我们只有一个服务器/ IP地址和几个别名,例如:

127.0.0.1
s1.domain.com
s2.domain.com
s3.domain.com

浏览器支持多少个并行连接到这些别名?它们是否被视为一个服务器,因为它们共享相同的IP,或者它们被视为3,因为它们具有单独的别名?

我们已经完成了测试,并且非常确定它们是分开处理的,但我们想了解背后的事实/理论。

1 个答案:

答案 0 :(得分:1)

  

浏览器支持多少个并行连接到这些别名?

取决于browser

  

当引入HTTP / 1.1时默认启用持久连接,建议浏览器每个主机名只打开两个连接。由于资源是一次两次下载,因此从单个主机名缓慢加载的10或20个资源的页面。浏览器一直在增加每个主机名打开的连接数,例如,IE从IE7中的2变为IE8中的6。此测试测量为正在测试的浏览器打开的HTTP / 1.1连接数。

以上内容取自"每个主机名的连接"来自Browserscope网站的标题列,"网络"标签。另请参阅the HTTP spec中提到的内容。

区分是根据主机名而不是IP,所以" s1.domain.com"," s2.domain.com"和" s3.domain.com"将被单独处理。 At least that's the theory

in a post确认Steve Souders

  

了解这是基于每台服务器的重要性。使用多个域名(例如1.mydomain.com,2.mydomain.com,3.mydomain.com等)允许Web开发人员实现每服务器连接限制的倍数。即使所有域名都是同一IP地址的CNAME,也可以使用。

所以你应该期望大约6到8个并行连接到主机。这是每个浏览器可配置的,但增加每个主机名的并行请求数量必然意味着更快的负载,因为更多的线程将增加上下文切换和开销的时间,同时竞争有限的资源(即您的CPU核心)。 / p>