【问题标题】:Some Google CDN resources have short expiry dates某些 Google CDN 资源的有效期很短
【发布时间】:2012-09-26 03:35:03
【问题描述】:

我正在使用 Google PageSpeed 分析我的页面,但惊讶地发现是 Google 自己带来了错误:

对此页面的建议

以下可缓存资源的新鲜度生命周期较短。为以下资源指定至少一周后的到期时间:

Google 的 +1 和 Analytics 的 CDN 文件似乎有超短的到期时间,违背了 CDN 的目的。

为什么会这样?

【问题讨论】:

  • CDN 的目的是不长过期时间...!
  • @deceze 好吧,CDN 的目的是更快地加载内容,而 30 分钟的到期日期似乎违背了这个目的
  • 我的猜测是他们希望能够立即更新这些文件,尤其是对于仍然相对较新的 G+ 服务。由于 Google 在全球都有服务器,各种分布式 DNS 技巧使它们变得更快,而且文件很小,我认为它对他们来说已经足够快了。

标签: caching google-analytics cdn google-plus-one


【解决方案1】:

CDN 的目的是分发内容,从而使其更靠近您的用户并减少往返时间 (RTT) 的距离因素,并且不会产生影响 按话说关于 RTT 的其他两个因素,即光速和服务器响应请求所需的时间。

在一般情况下,它通常是静态内容,可以轻松从简单的缓存规则中受益,因为大多数 CDN 没有动态内容生成功能,所以放在 CDN 上,但是有没有任何内容表明您不能将动态(即不易缓存的)内容放在 CDN 上。

至于为什么 Google 选择了相对较短的缓存到期窗口,在任何性能改进方面总是需要权衡,尤其是在缓存方面。缓存的最大权衡是可能的最新内容与生成最新内容所需的资源之间的平衡。

这种平衡会因其影响的用户规模以及您可用于生成内容的资源而发生巨大变化。在 Google 的情况下,我猜他们已经决定 30 分钟的窗口足够长,他们可以看到 大量 资源收益,但仍然足够短,他们很乐意将自己限制在 30 分钟部署新代码的最短响应时间。

Here 有趣地解释了为什么将内容缓存 5 秒也是一个值得的提议,尽管您必须在更新窗口之间取得平衡,我之前提到过。

【讨论】:

  • +1 感谢您的详细回答。我想快速部署新代码对于安全修复等很重要。
猜你喜欢
  • 2017-03-14
  • 2011-12-25
  • 1970-01-01
  • 2019-03-01
  • 2021-11-27
  • 2017-06-12
  • 2011-02-11
  • 2020-07-27
  • 2023-03-22
相关资源
最近更新 更多