全部产品
Search
文档中心

对象存储 OSS:使用缓存热度图优化OSS加速器容量

更新时间:Sep 08, 2026

当 OSS 加速器的缓存命中率不符合预期,或需要评估缩容空间时,仅查看缓存命中率难以判断OSS加速器缓存容量是否合适。缓存热度图展示已缓存数据的访问和空间分布,可用于判断是否需要调整加速器缓存容量。

说明

缓存热度监控目前处于邀测状态。如需使用,请提交工单联系申请开通。

功能说明

判断是否需要调整加速器缓存容量,需要联合查看以下信息:

  • 加速器缓存命中率(以下简称缓存命中率):用于判断当前缓存的加速效果。

  • 加速器缓存空间使用率(以下简称空间使用率):缓存热度图中各 seg 分段在总使用容量中的占比。

  • 缓存热度图:展示所选时间范围内的访问流量分布和查询时已缓存数据的空间分布,用于解释缓存命中率较高或较低的原因。

缓存命中率反映加速效果,缓存热度图解释访问模式,空间使用率反映各个seg段占用已缓存空间的比例。结合这三类信息,可以判断当前缓存容量是否合理:

  • 缓存命中率偏低时:如果少部分缓存数据承载了大部分访问流量,说明访问热点明显,扩容可能提高缓存命中率;如果访问流量与空间占用的分布接近,通常表示以随机访问为主,应先评估扩容收益。

  • 缓存命中率持续较高时:结合空间使用率,以及最久未被访问数据的访问流量和空间占用情况,判断是否存在缩容空间,并参考缓存容量与缓存命中率的实测关系评估缩容影响。

关于缓存热度图的控制台入口和查询步骤,请参见加速器监控。

图表说明

在 OSS 加速器的监控页面,可以通过缓存热度监控卡片查看缓存热度图。

缓存热度图示例

图表横轴表示缓存数据最近一次被访问的先后顺序,不是自然时间轴。从左到右,缓存数据由最近被访问逐渐变为最久未被访问。系统按照这一顺序将缓存数据均分为 seg 0~9~seg 90~99 共 10 个分段:

  • seg 0~9 位于图表最左侧,表示最近被访问的数据。

  • seg 90~99 位于图表最右侧,表示最久未被访问的数据。

本文将这种访问先后顺序称为“相对年龄”。相对年龄会随缓存访问活动推进,不是对象的创建时间或缓存时长,也不能换算为固定的分钟或小时。例如,同样位于 seg 90~99 的数据,在高 QPS 的繁忙实例中可能几分钟未被访问,在空闲实例中可能几小时未被访问。相对年龄只用于表示当前图表中缓存数据的访问先后关系,不要在同一实例的不同时段之间或不同实例之间直接比较相同的 seg,也不要将其换算为相同的时间长度。

OSS 加速器缓存写满后,如果需要缓存新数据,会优先淘汰最久未被访问的数据。因此,本文将 seg 80~99 称为淘汰准备区。控制台顶部信息条中简称为淘汰区。

缓存热度监控卡片由以下部分组成。

卡片元素

含义

数据性质

统计时间范围

用于选择访问流量的统计时段。

影响访问流量占比,不改变空间占用占比的快照性质。

顶部淘汰区信息条

汇总展示淘汰准备区(seg 80~99)的访问占比和空间占比。

所选时间范围的关键统计结果。

访问流量占比(柱状图)

所选时间范围内,访问请求在各 seg 分段的分布。柱子越高,表示该分段的数据被读取得越多。

增量值,反映所选时间范围内产生的访问。

空间占用占比(折线图)

该 seg 分段已使用的缓存空间占OSS加速器缓存容量的比例。

快照值,反映当前已缓存数据在各 seg 分段的分布。

为了便于判断缓存数据的冷热程度,本文将 10 个 seg 分段归纳为以下四个区域。

分区

范围

含义

常见表现

活跃区

seg 0~9

最近被访问的热数据,缓存命中率主要由这部分数据贡献。

访问流量通常集中在该区域。

温区

seg 10~49

有一定复用、正在逐渐变冷的数据。

有一定空间占用,访问流量逐段衰减。

冷区

seg 50~79

较长时间未被访问的数据。

空间占用占比较低。

淘汰准备区

seg 80~99

最冷且最先被淘汰的数据。

有空间占用但几乎没有访问流量属于正常现象;如果空间占比接近 0,表示数据可能来不及变冷就被淘汰。

控制台使用淡黄色底纹标记淘汰准备区。活跃区、温区和冷区是本文用于辅助判断的名称,控制台图表中不显示对应标记。

在极高 IOPS 场景中,系统可能丢弃部分访问的热度记录,但各 seg 分段之间的比例关系和整体趋势保持一致,用于扩缩容判断不受影响。如果需要查看绝对访问量,请以 QPS 或带宽监控为准。

调整缓存容量

先使用下表初步匹配图表形态,再查看对应示例。调整加速器缓存容量不能只依据热度图:缓存命中率通过加速器监控中的命中率指标查看,淘汰准备区的访问占比和空间占比通过缓存热度图查看。

确定需要调整缓存容量后,请参见创建、修改和删除加速器修改OSS加速器缓存容量。

图表形态

缓存命中率

淘汰准备区空间占比

淘汰准备区访问占比

判断与建议

访问流量集中在前段,淘汰准备区保留一定空间

大于 95%

大于10%

小于 5%

缓存容量可能富余。结合空间使用率预留安全余量后,可以适度缩容。

访问流量和空间占用都集中在前段

小于 80%

接近 0%

接近 0%

缓存容量可能不足,建议逐步扩容。

访问流量占比与空间占用占比逐段接近

任意

与访问流量分布接近

与空间占用分布接近

随机访问为主。先评估扩容的投入产出,再决定是否调整缓存容量。

缓存命中率处于 80%~95% 时,不宜直接根据阈值作出结论。根据业务的缓存命中率目标,结合图表形态、空间使用率和回源带宽综合判断。

缓存命中率高:评估缩容

特征:访问流量集中在活跃区(seg 0~9)和温区(seg 10~49),淘汰准备区(seg 80~99)有一定空间但访问流量较少,同时缓存命中率较高。这表示缓存已经开始淘汰较冷的数据,缓存命中率接近当前访问模型下的上限。

示例数据:

seg           0~9  10~19  20~29  30~39  40~49  50~59  60~69  70~79  80~89  90~99
访问流量占比   62%    18%     8%     5%     3%     2%     1%     1%     0%     0%
空间占用占比   16%    19%    13%    10%     8%     5%     4%     3%     1%     21%

信息条:淘汰区访问占比 0%,空间占比 22%

建议:无需扩容。如果需要降低成本,在缓存命中率高于95%、淘汰准备区空间占比大于10%且访问占比小于5%的情况下,可以考虑分步缩容。例如,上述示例中淘汰准备区的空间占比为22%,访问占比小于5%,可考虑缩容5%~10%。缩容后,重新查看缓存热度图和缓存命中率,再决定是否继续缩容。

缓存命中率低:评估扩容

特征:访问流量占比和空间占用占比都集中在图表前部(seg 0~19),淘汰准备区(seg 80~99)的空间占比和访问占比接近 0%,同时缓存命中率偏低。这表示数据在缓存中停留时间较短,热数据可能反复回源并重新写入缓存。

示例数据:

seg           0~9  10~19  20~29  30~39  40~49  50~59  60~69  70~79  80~89  90~99
访问流量占比   88%    10%     2%     0%     0%     0%     0%     0%     0%     0%
空间占用占比   58%    34%     8%     0%     0%     0%     0%     0%     0%     0%

信息条:淘汰区访问占比 0%,空间占比 0%

建议:逐步增加加速器缓存容量。扩容后至少等待 1 小时以上,再观察数据。如果扩容有效,温区中原本没有数据的seg 20~49应出现空间占用和访问流量,同时缓存命中率上升。

随机访问:评估收益

特征:各 seg 分段的访问流量占比与空间占用占比几乎相等,两条序列接近重合,缓存命中率随缓存容量近似线性变化。这通常表示大范围随机读,缓存数据没有明显的冷热区分。

示例数据:

seg           0~9  10~19  20~29  30~39  40~49  50~59  60~69  70~79  80~89  90~99
访问流量占比   30%    20%    14%    11%     8%     6%     5%     3%     2%     1%
空间占用占比   30%    19%    14%    11%     8%     6%     5%     4%     2%     1%

在随机读测试中,缓存容量为数据量的 1/2 时,缓存命中率为 49.3%;缓存容量为数据量的 1/5 时,缓存命中率为 19.9%。作为对比,在相同的 1/2 缓存容量下,80/20 访问模型的缓存命中率可以达到 86.9%。

80/20 访问模型指80%的访问集中在20%的数据上

建议:扩容可以提升缓存命中率,但投入与收益基本呈线性关系,没有明显的收益拐点。

使用建议

  1. 选择代表性时段。在单日内选择业务繁忙时段评估缓存容量,避免低峰数据低估容量需求。有明显日峰或周峰的业务,例如夜间跑批,应分别观察高峰和低谷。

  2. 连续观察多个周期。单次或短周期数据容易受到瞬时波动影响。建议连续观察多个业务周期,观察时间不少于 6 小时,并在观察期间避免频繁调整缓存容量。

  3. 分步缩容。根据空间使用率反映的余量分步下调缓存容量。每次缩容后重新查看缓存热度图和缓存命中率,确认活跃区(seg 0~9)未被挤压、淘汰准备区(seg 80~99)未被清空,再继续调整。

  4. 分别校准弹性容量。对于“夜扩日缩”等弹性伸缩场景,分别使用高峰和低谷时段的热度图校准两个缓存容量档位。

  5. 联合查看监控指标。缓存热度图用于解释缓存命中率变化的原因,缓存命中率和回源带宽用于确认调整结果。如果各项指标的结论不一致,先确认业务访问模型近期是否发生变化。

常见问题

加速器缓存空间使用率已经达到 100%,是否必须扩容?

不一定。OSS 加速器采用最近最少使用(LRU)淘汰机制,缓存空间写满后才开始淘汰数据。当数据总量大于缓存容量时,空间使用率一定会达到 100%。如果缓存命中率偏低,并且淘汰准备区的空间占比也接近 0%,这两个条件表示缓存容量不足。

淘汰准备区有空间占用但没有访问流量,是否异常?

不是。淘汰准备区保存即将被新数据替换的冷数据,有空间占用但几乎没有访问流量属于正常形态。如果该区域的空间占比接近 0,数据可能来不及变冷就被淘汰,需要结合缓存命中率判断是否扩容。

缩容后缓存命中率会下降多少?

先查看空间使用率反映的缓存余量,再参考缓存容量与缓存命中率的实测关系。有访问局部性时,在 80/20 模型测试中,缓存容量减半后,缓存命中率从 98.0% 降至 86.9%,下降约 11 个百分点。随机读场景下,缓存命中率与缓存容量比例近似线性变化,缩减容量会导致缓存命中率近似等比例下降。分步缩容,并在每次调整后重新查看缓存命中率和缓存热度图。

为什么访问流量几乎全部集中在 seg 0~9?

可能存在两种情况,需结合空间分布区分:一是访问局部性很好、缓存工作良好(此时后段仍有正常的空间分布、命中率高);二是容量严重不足、数据被快速淘汰(此时淘汰区空间也接近 0、命中率偏低),后者需要扩容。对照“缓存命中率高:评估缩容”和“缓存命中率低:评估扩容”两个场景进行判断。

多久观察一次缓存热度图比较合适?

评估缓存容量时,建议在业务峰值时段按分钟级间隔连续采样,并观察多个业务周期。日常巡检时,可以按天或按周观察图形是否发生结构性变化。图形形态明显变化,通常表示业务访问模型发生了变化。