Firefox HTTP 连接在阻塞阶段花费大量时间

Kwa*_*aak 5 ajax firefox http panel blocking

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

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

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

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

我尝试在 Chrome 中使用 DevTools 以及在 IE 中使用 Fiddler 来测量 HTTP 连接,尽管它们对于 HTTP 连接上的不同阶段没有使用完全相同的阶段/名称,但都没有显示出数量过多的迹象花费在 Firefox 拦截上的时间。

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

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

sdw*_*lsh 5

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

  • 以下是有关此内容的最新(截至 2019 年 8 月)文档:https://developer.mozilla.org/ru/docs/Tools/Network_Monitor/request_details#Timings http://kb.mozillazine.org/Network .http.每服务器最大持久连接数 (2认同)