【问题标题】:Chrome slow to load resources `(from disk cache)`Chrome加载资源很慢`(来自磁盘缓存)`
【发布时间】:2017-07-12 11:43:33
【问题描述】:

我的站点http://www.front-end.io 将HTTP 请求配置为优先从缓存加载资源。所以我的标题会是这样的:

cache-control:max-age=315360000
ETag:W/"11913b-ks0rwRQM+ijHcl1HDuse3g"

Chrome 确实不会向服务器发起任何请求(甚至是 304),它直接从缓存中加载:

我的 Windows10 Chrome 从本地磁盘加载 js 文件需要 >400 毫秒。

我的 Ubuntu Chromium 也需要 >100 毫秒。

但 FireFox 只需要大约 10 毫秒!

我也发现了这个问题,Google Chrome load image from cache slower than download,但没有解释。

有人可以帮忙吗?谢谢。

【问题讨论】:

  • 您是否在使用 AdBlock 之类的扩展程序?
  • 啊,有趣。我禁用了扩展Grammarly for Chrome,然后它进入 10 毫秒 :) @LeonidVasilyev 谢谢,请把你的答案记下来。

标签: performance google-chrome caching browser-cache


【解决方案1】:

这可能是错误的时间信息。

为了让时间轴等 Chrome 开发工具显示正确的信息,您必须禁用扩展程序以排除它们产生的噪音。来自 Kayce Basques 的How to Use the Timeline Tool article 的相关摘录:

禁用扩展程序。 Chrome 扩展程序可能会给 您的应用程序的时间线记录。在中打开一个 Chrome 窗口 incognito mode,或创建一个新的Chrome user profile 以确保 您的环境没有扩展。

尽管某些扩展可以以阻塞方式拦截资源请求,但 Grammarly 并不是这些扩展之一。它不需要在清单文件中指定webRequestBlocking 权限。更多信息请查看chrome.webRequest page。

如果您测量浏览器从磁盘缓存中获取 /vendor.61e0ab918e699695d3a3.js 脚本所花费的时间,编译并执行它,您会发现无论是否启用 Grammarly,它几乎都是恒定的。您可以使用下面的代码 sn-p:

<script>var startTime = performance.now();</script>
<script type="text/javascript" src="/vendor.61e0ab918e699695d3a3.js"></script>
<script>
  var endTime = performance.now();
  console.log("Time: " + (endTime - startTime) + " [ms].")
</script>

【讨论】:

  • 感谢@leonid_vasilyev:我禁用了Chrome扩展Grammarly for Chrome,然后它恢复正常。
  • 感谢您提供有关隐身模式的提示。
  • 非常感谢调查提示。就我而言,罪魁祸首是“Adblock Plus”。
猜你喜欢
  • 1970-01-01
  • 2017-11-19
  • 2015-05-16
  • 1970-01-01
  • 1970-01-01
  • 2011-03-04
  • 1970-01-01
  • 2013-12-26
  • 2022-08-24
相关资源
最近更新 更多