Javascript 同时有太多的AJAX连接是不是很糟糕?

Javascript 同时有太多的AJAX连接是不是很糟糕?,javascript,ajax,performance,networking,xmlhttprequest,Javascript,Ajax,Performance,Networking,Xmlhttprequest,我正在编写一个相当大的基于JavaScript的应用程序,有时甚至有八(8)个AJAX请求同时进行的情况。这在IE6中是一个问题,因为它会杀死其余的请求,我知道,但是这个应用程序是针对现代浏览器的,所以IE6不是一个问题 然而,我有一种感觉(没有做任何实际的分析),池请求可以产生更好的性能。例如,一次最多4个请求 所以,我的问题是,将AJAX请求汇集在一起有什么好处,或者与一个池中一个接一个地处理多个请求相比,让多个请求同时进行可以吗 我意识到这可能取决于浏览器和互联网连接,但我不确定这一点。I

我正在编写一个相当大的基于JavaScript的应用程序,有时甚至有八(8)个AJAX请求同时进行的情况。这在IE6中是一个问题,因为它会杀死其余的请求,我知道,但是这个应用程序是针对现代浏览器的,所以IE6不是一个问题

然而,我有一种感觉(没有做任何实际的分析),池请求可以产生更好的性能。例如,一次最多4个请求

所以,我的问题是,将AJAX请求汇集在一起有什么好处,或者与一个池中一个接一个地处理多个请求相比,让多个请求同时进行可以吗


我意识到这可能取决于浏览器和互联网连接,但我不确定这一点。

IE6不是你唯一的问题;其他浏览器也限制对同一服务器的并发请求数,这表明,在撰写本文时,默认值为:

Browser HTTP/1.1 HTTP/1.0 ------- -------- -------- IE 6,7 2 4 IE 8 6 6 Firefox 2 2 8 Firefox 3 6 6 Safari 3,4 4 4 Chrome 1,2 6 ? Chrome 3 4 4 Opera 9.63 4 4 Opera 10.00alpha 4 4 浏览器HTTP/1.1 HTTP/1.0 ------- -------- -------- IE 6,7 2 4 IE 8 6 6 火狐2 2 8 Firefox366 狩猎3,4 铬1,26? 铬3 4 歌剧9.63 4 歌剧院10.00alpha 4 除此之外,这篇文章还有两条重要的引语:

可以重新配置浏览器以使用不同的限制

请注意,对于拨号连接的用户,IE8会自动将每个服务器的连接数减少到2个

…据你所知,其他现代浏览器会这样做,或者可能会在下一个“dot”版本中开始这样做

如果可以,一定要尽量减少长期开放的连接数量。当然,不要长时间主动打开多个连接


如果你只是在做很多个人的、快速的连接,有时它们会聚在一起,你可能想自己序列化它们,而不是依赖浏览器来完成。拥有一个代表需要执行的请求的对象队列,以及负责执行这些请求的代码(一次一个)。

太多总是不好的


阅读有关AJAX优化的更多信息。

根据以上答案中列出的浏览器,可以。在某些情况下,如果他们没有按时间顺序排队发送请求,您可能会发现在某些情况下,某些返回信息可能会混淆,并显示在错误的元素中,以加载ajax POST请求返回信息

是的,限制连接的数量总是会发生的,但是如果你做了太多的AJAX请求,IE6实际上会杀死你的AJAX请求,而新的浏览器只会让请求等待。那么,你是不是建议我应该实现一个池,比如说,第四个之后的请求被“挂起”并在其他完成后继续?@rFactor:不是池,不是队列,除非您真的在重用Comet样式的开放连接。我可能一次只允许一个未完成的请求(请参阅我刚才的编辑)。你是对的。您的
success()。这看起来确实很奇怪,你可以使用jQueryAjax加载函数,无论顺序如何,它们都能更好地处理。