2017-02-22 163 views
3

我的网站http://www.front-end.io配置HTTP请求从第一优先级缓存加载资源。因此,我的头就会像:Chrome缓慢加载资源`(从磁盘缓存)'

enter image description here

这需要我的Windows10铬:

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

的Chrome确实没有发起任何请求(甚至304)到服务器,直接将其从缓存中加载> 400ms从本地磁盘加载js文件。

我的Ubuntu Chromium也需要> 100ms。

但是FireFox只需要10ms左右!

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

任何人都可以帮忙吗?谢谢。

+1

您是否在使用AdBlock等扩展? –

+0

啊,有趣。我禁用了扩展名“Grammarly for Chrome”,然后到10ms :) @LeonidVasilyev谢谢,请把你的答案写下来。 – Joy

回答

6

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

为了让Chrome Dev Tools等时间线显示正确的信息,您必须禁用扩展程序以排除它们产生的噪音。从How to Use the Timeline Tool article相关摘录由Kayce巴斯克:

禁用扩展。 Chrome扩展程序可以将不相关的噪音添加到您的应用程序的 时间线录音中。在 incognito mode中打开Chrome窗口,或者创建一个新的Chrome user profile以确保 您的环境没有扩展名。

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

如果测量时间了浏览器得到磁盘缓存/vendor.61e0ab918e699695d3a3.js脚本,编译并执行它,你会发现它是非常恒定的,无论是否启用或禁用grammarly破解。您可以使用以下代码段:

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

谢谢@leonid_vasilyev:我禁用了Chrome扩展程序'Grammarly for Chrome',然后恢复正常。 – Joy

+0

感谢您提供关于隐身模式的提示。 – savehansson