我正在使用 GTMetrix 来分析我们的网站。
我发现了一件奇怪的事情。加载 1.32k favicon.png 需要 221 毫秒。但加载1.61k logo.png只需要26ms,见下图:
为什么 favicon.png 需要这么长时间才能加载?我测试了很多次,favicon.png 总是比其他类似大小的文件花费大约 10 倍。
所有这些资源均由 Cloudflare 缓存并转换为 webp 格式:
我遇到了一个奇怪的缓存问题。在随机页面加载时,我的一些资源将显示 cf-cache-status: HIT 标头,但没有年龄标头。发生这种情况时,加载需要很长时间,大约 1 到 2 秒。
这适用于静态资源、图像、字体、JS、CSS 等。
解决方案是:
问题是“分层缓存”我启用了它,当我禁用它时,一切都表现正常。后端是一个无服务器 nuxt 应用程序,但在初始缓存后从未请求源,延迟是 Cloudflare 内部的。
但是分层缓存是这种情况的罪魁祸首。
在本次htread中也提到了这一点。
它在某些情况下可能会有所帮助,但在其他情况下(取决于您的设置)它可能会稍微降低性能以获得更高的缓存命中率。暂时关闭它。