http - 了解Chrome网络日志“停滞不前”

我在chrome中有以下网络日志:

network log

我不明白其中的一件事:填充灰色条和透明灰色条之间的区别是什么。

4个解决方案
142 votes

Google在DevTools文档的评估网络性能部分中提供了这些字段的细分。

摘自资源网络时间:

失速/阻塞

请求在发送之前等待的时间。 此时间包括代理协商所花费的任何时间。 此外,这一次将包括当浏览器等待已建立的连接可供重用时,遵守Chrome的每个原始规则最多六个TCP连接。

(如果您忘记了,Chrome在悬停工具提示和“计时”面板下方有一个“解释”链接。)

基本上,您将看到这一点的主要原因是Chrome每次只下载每个服务器6个文件,其他请求将停止,直到连接插槽可用。

这不一定需要修复,但避免陷入停滞状态的一种方法是将文件分布在多个域名和/或服务器上,如果适用于您的需要,请记住CORS,但HTTP2可能是更好的选择 往前走。 资源捆绑(如JS和CSS连接)也可以帮助减少停滞的连接数量。

Alexander O'Mara answered 2019-05-26T15:26:19Z
10 votes

DevTools:[network]解释请求之前的空条

进一步调查并确定我们的停滞和排队范围之间没有显着差异。 都   是从其他时间戳的delta计算的,而不是   从netstack或渲染器提供。


目前,如果我们正在等待套接字可用:

  • 如果发生一些代理协商,我们会称之为停滞不前
  • 如果不需要代理/ ssl工作,我们将其称为排队。
Naga Kiran answered 2019-05-26T15:27:13Z
6 votes

[https://developers.google.com/web/tools/chrome-devtools/network-performance/understanding-resource-timing]

这来自Chome-devtools的官方网站,它有所帮助。在这里我引用:

  • 排队   如果请求排队,则表明:
    • 请求被渲染引擎推迟,因为它被认为比关键资源(例如脚本/样式)的优先级低。 这通常发生在图像上。
    • 请求被暂停以等待即将释放的不可用TCP套接字。
    • 请求被暂停,因为浏览器在HTTP 1上每个源只允许六个TCP连接。   制作磁盘缓存条目所花费的时间(通常非常快)。
  • 失速/阻塞   请求在发送之前等待的时间。 它可以等待排队描述的任何原因。 此外,此时间包括代理协商所花费的任何时间。
briefy answered 2019-05-26T15:28:22Z
1 votes

我的情况是页面在打开时发送带有不同参数的多个请求。 所以大多数人都“陷入困境”。 立即发送的以下请求变得“停滞”。 避免不必要的请求会更好(懒惰......)。

Kevin .NET answered 2019-05-26T15:28:47Z
translate from https://stackoverflow.com:/questions/29206067/understanding-chrome-network-log-stalled-state