【问题标题】:Max limit on number of concurrent ajax request [closed]并发ajax请求数的最大限制[关闭]
【发布时间】:2012-08-11 20:13:42
【问题描述】:

我有一个可以获取大约 20 个页面的网站,每个页面都不同。目前,加载大约需要 1.2 分钟。

几天前,这项任务只需要 11-15 秒。现在需要 1.2 分钟。突然变化的原因可能是什么?

除了合并其中一些以减少请求数量之外,还有其他解决方案吗?可以以某种方式更改请求数的限制吗?

以上截图来自 Firebug。条的灰色部分代表“阻塞”。

【问题讨论】:

  • 在 jQuery 中,如果达到限制,您可以使用“beforeSend”事件中止 Ajax 请求。
  • 页面大小(字节长度)是否发生了变化?在浏览器的开发工具中打开“Net”选项卡,查看时间都花在了哪里。
  • 是的,我试图找出答案。主要问题似乎是结果现在是按顺序出现的。自己试试吧。 compare.buyhatke.com/products/apple-ipod-touch
  • 确实如此。浏览器正在阻止 Ajax 请求。似乎他们正在执行一些限制。
  • 那么,可能是什么原因?我该如何避免呢?

标签: php ajax performance http


【解决方案1】:

应该有人建议我改用多 CURL。因为我只需要调用一个 PHP 文件,它就会自动调用它们中的每一个,这也是并行的。

看看here

【讨论】:

  • 请在您的答案中包含链接内容的重要部分。
【解决方案2】:

大多数 webkit 浏览器在任何给定时间仅允许 2 个同时 AJAX 连接。最佳做法是让网站以 JSON 字符串的形式接收数据,然后让 JavaScript 将所有数据放在它所属的位置。鉴于您的屏幕截图,我假设后端全部使用 PHP。

从 PHP 端的 json_encode() 和 JavaScript 端的 eval() 开始,从那里应该是在公园里散步。

【讨论】:

  • CDN 服务器如何帮助我加快响应速度?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-18
  • 2012-01-15
  • 1970-01-01
  • 2015-03-09
  • 2021-03-17
相关资源
最近更新 更多