Chrome缓慢加载资源`(来自磁盘缓存)`

时间:2017-02-22 12:17:59

标签: performance google-chrome caching browser-cache

我的网站http://www.front-end.io配置HTTP请求以优先级从缓存加载资源。所以我的标题就像:

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

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

enter image description here

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

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

但是FireFox只需要大约10毫秒!

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

有人可以帮忙吗?感谢。

1 个答案:

答案 0 :(得分:10)

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

为了使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脚本的时间,编译并执行它,你会看到它几乎是恒定的,无论是启用语法还是禁用。您可以使用以下代码段:

<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>