更新时间:2026-11-06 GMT+08:00
分享

大Key热Key分析

功能介绍

在Redis数据库运维中,大Key(存储占用过大或包含过多元素)和热Key(瞬间QPS过高或流量集中)是导致业务延迟上升、节点负载不均乃至触发限流的两类核心问题。虽然GeminiDB Redis采用共享存储架构,在物理上消除了因大Key导致的分片OOM(内存溢出)风险,但大Key仍可能引发执行耗时增加、网络带宽拥堵;热Key则容易导致单个计算节点CPU过载,影响整体业务稳定性。

此前,GeminiDB Redis 已提供诊断分析能力:内核小版本大于等于 5.0.4.20 支持大Key诊断(按长度维度统计),内核小版本大于等于 5.0.5.50 支持热key诊断(按照QPS维度统计)。

从内核小版本5.0.7.20版本开始,GeminiDB Redis结合数据管理服务DAS的智能DBA助手,提供实时和历史双维度的大Key和热Key的诊断分析能力,助力运维人员快速定位异常Key,分析流量趋势,实现故障的“秒级定位”和“趋势可查”。其中,大Key支持按长度和存储占用两个维度分析,热Key支持按QPS和流量两个维度分析。

使用须知

  • 此功能依赖局点支持数据管理服务DAS。
  • 若 GeminiDB Redis实例未启用智能DBA助手的大Key热Key分析功能,请将实例内核小版本升级至 5.0.7.20 及以上。升级后若仍不可用,您可以在管理控制台右上角,选择“工单 > 新建工单”联系客服进行咨询。
  • 如果您的GeminiDB Redis实例的节点均异常或者实例正在删除节点、规格变更中,可能出现实时分析暂时不可用,开启历史统计开关不可用,请在节点正常状态下使用。
  • 此功能不涉及收费。
  • 历史统计功能开启后,不支持关闭。

维度说明

表1 大Key分析

维度

大key分析

按长度统计

针对 List、Hash、Set、Zset、Stream 及 ExHash 等复合类型,统计其元素个数,阈值可通过参数bigkeys-composite-threshold自定义;针对String类型,统计其字符串长度,阈值可通过参数bigkeys-string-threshold自定义。当元素个数或字符串长度超过设定阈值时,判定为大Key。

按存储占用统计

可通过参数bigkeys-whole-storage-threshold自定义阈值,当Key的内存占用大于该阈值时,被统计为大Key。

表2 热Key分析

维度

热key分析

按QPS统计

当Key的QPS超过1000时,被统计为热Key;当QPS大于6000时,不再统计精确的QPS值。该阈值可通过参数hotkey-qps-min-limit 自定义。

按流量统计

当Key访问量超过1MB/s时,被统计为热Key,阈值可通过参数hotkey-traffic-min-limit自定义。热key的按流量统计默认按照入口流量和出口流量之和从大到小倒序排序。

大Key的查询数量可以通过BigkeysQuantityLimitation参数自定义,最多支持每个类型1000个。相关参数配置方法请参考修改当前实例的参数。

操作步骤

可以帮助快速定界:当实例CPU飙高时,通过实时热Key页面快速定位当前热点Key。

  1. 登录云数据库GeminiDB控制台。
  2. 在“实例管理”页面,选择指定的实例,单击实例名称。
  3. 在左侧导航栏中选择“智能DBA助手”页签,选择“大Key热Key分析”。
  4. 单击右侧"实时分析",即可查询当前的大Key和热Key。大Key信息请参见大Key的参数。热Key信息请参见热Key的参数。

    图1 实时分析

    表3 大Key的参数说明

    参数

    描述

    key名称

    大Key的名字。

    类型

    大Key的类型。

    • string
    • hash
    • zset
    • set
    • exhash
    • list
    • stream

    长度

    大Key的长度。

    • string类型表示value的字节数。
    • hash、exhash、list、zset、set、stream 类型表示元素数量。

    DB

    大Key所在的DB。

    存储占用

    大Key的存储占用大小,默认单位:字节数。

    表4 热Key的参数说明

    参数名称

    参数说明

    key名称

    热Key的名称。

    类型

    热Key的数据类型,包括string、hash、list、set、sorted set等数据类型。

    DB

    热Key所在的DB。

    最新执行命令

    热Key的最新执行命令。

    QPS

    热Key的每秒访问数。

    说明:

    QPS统计的峰值是6000,超过6000时,不会再统计精确的频次信息。

    入口流量

    热Key的每秒入流量字节数。

    出口流量

    热Key的每秒出流量字节数。

  5. 支持按Key名称和类型模糊查询,按DB精确查询。实时热Key分析支持按最新执行命令模糊搜索。
  6. 支持查询当前阈值,修改后单击“刷新”即可生效。
  7. 支持导出当前所有数据,单击“导出 > 导出全部数据到XLSX”。

    图2 导出数据

最长可以查看7天内的历史数据,最多展示所选时间段内的Top 1000条数据,如果同一个Key出现多次,会进行MAX聚合,展示最大值。该功能可以帮助您进行容量规划:通过历史大Key数据,分析业务数据增长趋势。

  1. 登录云数据库GeminiDB控制台。
  2. 在“实例管理”页面,选择指定的实例,单击实例名称。
  3. 在左侧导航栏中选择“智能DBA助手”页签,选择“大Key热Key分析”。
  4. 单击右侧"历史分析",如果没有开启过,请先单击开关开启。
  5. 开启后,可以选择时间范围,查看历史数据。

    ● 大Key时间筛选:默认展示最近“1小时”,可以选择“3小时”,“5小时”,可自定义时间范围,最长可筛选到7天前。

    ● 热Key时间筛选:默认展示最近“15分钟”,可以选择“半小时”,“1小时”,可自定义时间范围,最长可筛选7天前。

  6. 支持按Key名称和类型模糊查询,按DB精确查询。

    查询或导出大Key按长度统计的数据时,建议您筛选Key名称,string类型和复核类型单位不同,排序时根据数值从大到小排序。

  7. 支持导出TOP 1000的数据,单击“导出 > 导出数据(最大支持1000条)”。

    图3 导出数据

  8. 支持查看Key变化趋势,单击Key名称即可查看其在所选时间段内的走势。

相关文档