google-chrome - 为什么缓存资源的 chrome 内容下载需要更长的时间?

标签 google-chrome caching browser-cache http-caching

我试图使页面速度尽可能快。问题是我有一个文件需要很长时间才能下载(即使大小为 0 -> 从缓存加载)

这是没有缓存的样子(第一次加载):

without cache

并使用缓存:

with cache

我同意时间减少了近 50%,但是为什么我的本地缓存中的内容下载时间高于服务器中的内容下载时间?

笔记:

我不确定 Safari 中的时间解释是否相同,但似乎不需要那么长时间就可以将文件放在那里。

来自 Safari 网络选项卡的图像:

enter image description here

最佳答案

在对几个项目运行测试之后,没有任何代码或内容下载过程的进一步分割,这是我得出的结论。

系统线程为它们分配的每个进程设置一个优先级。当文件存储在缓存中时,下载性能在很大程度上取决于机器的性能。如果线程陷入困境,则可能会导致内容下载比从服务器下载更慢。但是,由于涉及联系、请求、接收和处理下载的所有过程,从服务器下载通常较慢。

在处理慢速连接和/或大文件时,很容易看出缓存的优势。例如,如果由于连接缓慢而等待 10 秒以上,那么多次加载整个页面是不理想的。需要一个非常慢的系统来证明两次发送该页面的合理性。

由于浏览器缓存删除了发送/接收过程,因此速度更快,但并没有完全消除加载时间。在这种情况下,它恰好在一个类别中产生了更长的加载时间。

旁注:从缓存中读取文件时将文件归类为下载的内容似乎很奇怪,但在我测试的所有项目中似乎都是一致的。

关于google-chrome - 为什么缓存资源的 chrome 内容下载需要更长的时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38481887/

相关文章:

javascript - Chrome 安装 Service Worker addAll 无法获取

google-chrome - Chrome 开发工具中的新调试图标 "Step F9"

javascript - document.createElement ("svg") instanceof SVGElement 为假

node.js - 如何正确地清理 npm 缓存?

javascript - 为获得最大的缓存性能而对 javascript 进行版本控制的常用方法是什么?

caching - Safari 及其贪婪的缓存

android - 以编程方式使用 root 删除 android 浏览器缓存、历史记录等

javascript - 我怎样才能去掉 <nav> 中 <ul> 的点

ios - 如何在 iOS swift 中检索缓存文件?

javascript - Angular 服务缓存