数据库智能管家 DBbrain 延迟分析(热 Key 分析)

在 Distributed Cache 数据库中,我们将访问频率高的 Key 称为热点 Key,当 Distributed Cache 数据库请求过大时,多数请求又集中去访问 Distributed Cache 上的某个特定 key。这样会造成流量过于集中,触达物理网卡上限,从而导致 Distributed Cache 服务出现问题甚至宕机。

相关产品
数据库智能管家 DBbrain 产品页,含版本规格、价格与购买入口。

一、操作场景

通过 DBbrain 的热 Key 分析系统,能够快速发现热点 Key,从而为服务优化提供基础。

二、背景信息

·热 Key:在统计周期内被访问次数远高于其他 Key 的 Key。常见来源包括秒杀活动 Key、热点文章 Key、配置 Key 等。

·访问频次:这篇档中的核心统计字段,表示所选时间范围内该 Key 被访问的累计次数,单位为次,不是 QPS 等速率指标。

三、使用限制

限制项 限制说明
数据保留时长 热 Key 原始采样数据保留 10 天,超过该期限的数据不可查询。
单次查询时间跨度 起止时间差 ≤ 10 天。
历史可追溯起点 起始时间不可早于当前时刻 10 天前。
列表展示条数 单次最多返回 100 条,可选择 50 条或 100 条。
节点版本依赖 实例接入层版本较低时,可能不上报节点 ID 或 DB ID,对应列将显示为空,建议升级到最新版本。
数据可见性 在统计周期不足 1 分钟时(例如新接入实例、刚触发首次命令访问),可能因采样周期未到而暂时无法查询到结果。

四、注意事项

·访问频次是绝对计数(单位:次),不是 QPS 等速率指标。在不同时间范围下查询同一个 Key,得到的访问频次数值不同属正常现象,由所选时间窗口决定。

·比较不同 Key 的访问频次时,请确保使用的是相同的时间范围和相同的节点筛选条件,否则不具备可比性。

五、查看热 Key 分析

1. 登录 DBbrain 控制台。

2. 在左侧导航栏,选择诊断优化。

3. 在页面上方选择对应数据库和实例 ID,选择延迟分析 > 热 Key 分析页签。

4. 在热 Key 分析页面,设置查询条件,参数说明如下。

参数 说明
数据类型 按 Key 的数据结构过滤。支持:全部、string、list、set、hash、sortedset、stream、none。
时间范围 支持实时视图与历史视图两种模式:实时视图:展示最近一个采样周期内的热 Key,并随后台采样滚动更新。历史视图:可选近 1 小时、近 3 小时、近 24 小时、近 7 天,或自定义起止时间。时间范围最长 10 天,起始时间不可早于当前时刻 10 天前。
Redis 节点 选择待分析的 Redis 节点(每个节点是一个独立的 Redis 服务器实例)。可按节点单独查看,也可查看所有节点。
列表限制条数 返回 Top N 数据的条数。支持 50 条、100 条,默认 50 条。

5. 查看分析结果。列表按访问频次降序排列,单击单条记录可查看该 Key 的详情。

六、后续步骤

定位到热 Key 后,可结合业务情况采取以下优化措施:

·Key 拆分:将单个热 Key 按业务维度拆分成多个子 Key,分散到不同节点。

·本地缓存:在业务侧引入二级缓存,减少对热 Key 的直接访问。

·读写分离:通过读写分离将读流量分摊到只读节点。

·业务限流:在应用侧对热点 Key 的访问设置限流策略,防止瞬时流量打满节点。

七、相关操作

·延迟分析(命令字分析)

·内存分析(大 Key 分析)

·自治中心

八、对应的 API 接口

DescribeRedisTopHotKeys

九、Q1:为什么两次查询同一个 Key 的访问频次差异很大?

请检查以下三种常见情况:

1. 是否切换了不同的时间范围(窗口长度变化会直接导致访问频次变化)。

2. 是否切换了不同的 Redis 节点(数据按节点聚合)。

3. 是否处于实时视图模式且距离上次查询不足 1 个采样周期(约 1 分钟),此时数据仍在滚动更新。

十、实时视图下看不到数据或数据为 0 怎么办?

可能原因及处理建议:

可能原因 处理方法
实例刚接入或刚触发首次命令访问,尚未完成首个采样周期 等待 1~2 个采样周期(约 1~2 分钟)后重新查询。
实例接入层版本较低,未支持热 Key 数据上报 联系运维或工单升级实例至最新版本。
所选 Redis 节点在该时段确实无命令访问 切换到全部节点或选择业务高峰节点查询。
该实例不存在明显热点(访问分布均匀) 该结果为正常状态,可改为查看大 Key 分析或慢日志分析。

十一、不同时间范围下的访问频次为何相差悬殊?

这是预期行为,因为访问频次是该时间范围内的累计值,窗口越长累计值越大。例如同一个 Key:

·近 1 小时访问频次为 72000;

·近 24 小时访问频次为 1728000;

·近 7 天访问频次为 12096000。

这只是统计窗口的差异,不代表该 Key 的访问行为发生变化。如需对比访问行为,请使用相同的时间范围。

赞 (0)
上一篇 4天前
下一篇 4天前