【问题标题】:Firefox HTTP connections spend a lot of time on blocking phaseFirefox HTTP 连接在阻塞阶段花费大量时间
【发布时间】:2011-05-03 23:22:21
【问题描述】:

我的应用程序正在执行大量连续的 XHR 调用。这意味着要建立大量 HTTP 连接。

我正在尝试分析所有这些连接的性能。我发现第一个 HTTP 连接在 阻塞 上花费了大约 10% 的持续时间(遵循引用自 Firebug Wiki 的定义):

阻塞 - 浏览器队列等待网络连接所花费的时间(以前称为排队)。对于 SSL 连接,这包括 SSL 握手和 OCSP 验证步骤。

在连续调用中,阻塞所花费的时间增加,大约 10 次调用后,阻塞保持稳定在平均约 120 毫秒(!!!)。

我尝试在 Chrome 中使用 DevTools 和在 IE 中使用 Fiddler 类似地测量 HTTP 连接,尽管它们没有对 HTTP 连接的不同阶段使用完全相同的阶段/名称,但两者都没有显示Firefox 在阻止上花费的时间过多。

我可以排除缺少可用(持久)HTTP 连接。由于 XHR 调用是同步完成的。

有人熟悉这种 Firefox 行为吗?如有必要,我可以显示 Firebug Net Panel 输出。

【问题讨论】:

  • 您的意思是 XHR 调用是异步完成的吗?如果它们是同步的,阻塞将是预期的行为。
  • 不,它们是显式同步的。一个接一个,一次不超过 1 个。

标签: ajax http firefox panel blocking


【解决方案1】:

Firefox 在任何给定时间仅对活动 HTTP(S) 连接的数量有限制。这由首选项network.http.max-connections-per-server 控制(更改后需要重新启动)。我强烈怀疑你达到了这个限制。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-27
  • 2018-01-10
  • 2015-03-14
  • 1970-01-01
  • 1970-01-01
  • 2013-02-15
相关资源
最近更新 更多