3

尽管Chrome在网络标签中缓存了静态文件(JS,图片等),但这些文件需要一些时间,如下图所示。 enter image description here为什么Chrome缓存的请求需要时间?

许多缓存文件的加载时间仅为0ms。即使文件从缓存中加载,有人可以告诉我,为什么他们加载时间大于0ms?

+0

看看这个https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/http-caching?hl=en http://stackoverflow.com/questions/3401049/chrome -doesnt-cache-images-js-css – Codeone

回答

2

乍看之下,看起来Chrome很花时间下载资源,即使它们来自缓存。这不是从您看到的Web服务器上下载的时间。相反,我相信这是从本地数据库缓存中下载的时间。

任何数据的检索都涉及一定数量的成本。这些资源基本上存储在Chrome的数据库中,要检索数据需要查询,这不是即时的。除了在表中查找数据之外,可能还有一些处理将正确的数据推送到内存中,因为数据的存储方式并不完全如此。它很可能被压缩,并且解压缩数据可能是一个缓慢的过程。

你可以,虽然它似乎采取0毫秒来获取一些资源,当你在看计时选项卡,你会看到,它实际上是四舍五入的网络选项卡看到。例如,在下面的请求中,我看到0.08 ms失速和0.02 ms下载,尽管它在网格中显示为0 ms。

Not instant

更新:

我进一步调查了这一点,并发现Chrome扩展似乎对从缓存和Web两种检索时间,特别是那些将内容插入效果这一页。 Adblock似乎是我的一些延迟的原因 - 上面的解释仍然适用于其余的。

+0

感谢Gideon的详细解释。 – Sriks

+0

对于我来说,如果我从悉尼前往我在阿姆斯特丹的服务器,或者280ms从我的CPU到内存7厘米,我会得到280ms的TTFB。如果这是真的,这个世界确实是一个陌生的地方。 –

+0

@DavidGilbertson是的,从数据库/处理检索不能考虑这个时间级别。没有启用任何扩展程序,你尝试运行吗? –

0

奇怪的是,在Chrome中的时间有点...古怪...时间不纯粹是网络时间。如果JS引擎被莫名其妙地受阻,它是包含在总时间...

enter image description here

如果碰到这个问题去“时间表”选项卡,并记录完整的时间表。

相关问题