什么是缓存命中率?

缓存命中率是通过将缓存命中次数除以缓存命中和未命中的总数来计算的,它可以衡量缓存在满足内容请求方面的有效性。

学习目标

阅读本文后,您将能够:

  • 了解缓存命中和缓存未命中之间的区别
  • 了解缓存命中率的计算方法
  • 了解缓存命中率对 CDN 的重要性

相关内容


想要继续学习吗?

订阅 TheNET,这是 Cloudflare 每月对互联网上最流行见解的总结!

参阅 Cloudflare 的隐私政策,了解我们如何收集和处理您的个人数据。

复制文章链接

使用 Cloudflare CDN 提升性能

什么是缓存命中率?

缓存命中率是一种将缓存能够成功填充内容请求数与其接收到的请求数相比的度量。内容分发网络 (CDN) 提供一种缓存类型,而高性能 CDN 将具有很高的缓存命中率。

计算缓存命中率的公式如下:

缓存命中率方程式

例如,如果 CDN 在给定的时限内具有 39 次缓存命中和 2 次缓存未命中,则缓存命中率等于 39 除以 41 或 0.951。也可通过将结果乘以 100,用百分比形式表示缓存命中率。若以百分比表示,其缓存率是 95.1%。

缓存命中率是适用于任何缓存的指标;不只是用于衡量CDN 性能。但是,它是 CDN 的一个特别重要的基准。大多数 CDN 服务都会在用户界面或仪表板中向客户显示这个指标。

什么是缓存命中?

从缓存请求文件并且缓存能够满足该请求,这便发生了“缓存命中”。例如,如果用户访问应该要显示猫在弹琴图片的网页,则浏览器可能会向网页的 CDN 发送索取这张图片的请求。如果 CDN 的存储中有此图片的副本,那么请求将导致缓存命中,然后图片就会发送到浏览器。

什么是缓存未命中?

缓存未命中是指缓存不包含所请求的内容。如果 CDN 缓存中当前没有猫在弹琴图片的副本,那么请求将导致缓存未命中,并且请求将传递给源服务器以索取原始图片。一旦源服务器做出响应,CDN 服务器将缓存这张图片,以便对此图片的其他请求可导致缓存命中。

对大多数网站而言,良好的 CDN 缓存命中率是多少?

主要由静态内容组成的典型网站很容易具有 95-99% 的缓存命中率。但是,尽可能提高这项指标并不是 CDN 的唯一目标。此外,具有大量动态内容的网站的缓存命中率可能会低得多(尽管缓存动态内容已逐渐成为可能)。

缓存命中率高是不是一定表示 CDN 有效?

缓存命中率不是 CDN 性能的硬道理;其他因素对于评估CDN 有效性也极为重要。例如,从哪一位置提供内容同样重要。理想情况下,CDN 将从距离最终用户最近的 CDN 服务器提供内容。否则,CDN 的性能就不是最佳的。Cloudflare CDN 的宗旨是从我们全球 320 个地点的任何一个来提供任何内容。缓存到一个数据中心的任何内容都可从任何其他数据中心提供。

缓存是 CDN 的重要组成部分,但其主要目的是使 Web 资产总体上具有更快的速度、更高的可靠性。有多种性能指标可以帮助衡量 CDN 对加快 Web 应用程序或网站的速度所起到的作用。