Key分析

数据库自治服务DAS支持Key分析功能,可实时展示实例中的大Key和热Key信息,同时支持查看4天内的大Key和热Key历史信息。该功能可以掌握Key的访问频次、元素个数等信息,为您的优化操作提供数据支持,帮助您避免因Key倾斜引发的内存不足、性能下降等问题。

前提条件

实例为社区版5.0及以上版本,或实例为Tair(Redis企业版)内存型持久内存型

大Key和热Key的统计排名机制

Key类型

统计排名机制

大Key

  • 支持的数据类型

    • Redis原生数据结构:String、List、Hash、Set、Zset、Stream。

    • Tair自研数据结构:TairString、TairHash、TairGIS、TairBloom、TairDoc、TairCpc、TairZset、TairRoaring、TairTS、TairSearch。

  • 大Key(元素数量多的Key)

    • 统计阈值:2000(字符串长度或元素数量)。

    • 大Key容量:每个主节点3个。如果实例为集群架构或读写分离架构,系统会展示每个数据分片或只读节点中,每种数据类型排名前3的Key。

    • 统计规则:

      • 根据Key中的字符串长度(仅String类型)或元素数量进行排序。

      • Key的大小不同时,按顺序取前3个到达阈值的Key。

      • Key的大小相同时,先进入统计的Key排序靠前。

  • 大Key(占用内存大的Key)

    说明

    仅支持Tair(企业版)内存型6.0及以上版本的实例。

    • 统计阈值:单个元素大于50 KB或者整个Object大于500 MB。

    • 大Key容量:每个主节点3个。如果实例为集群架构或读写分离架构,系统会展示每个数据分片或只读节点中,每种数据类型排名前3的Key。

    • 统计规则:

      • 根据Key的内存占用大小进行排序(参考MEMORY USAGE命令)。

      • Key的大小不同时,按顺序取前3个到达阈值的Key。

      • Key的大小相同时,按字符串字典序排序。

说明

长时间未操作过的Key可能不会被统计,您可以通过离线全量Key分析功能了解关于大Key的更多信息,例如Key的内存占有情况、Key的数量分布情况、Key中元素的内存占用和分布情况、Key过期时间分布等信息。更多信息请参见缓存分析

热Key

以最近最少使用算法LRU(Least Recently Used)为基础,经过高效的排序以及统计算法识别出当前实例的热点Key。

说明

在更新版本至Redis开源版7.0.18、6.0.2.9、5.5.2.9或Tair内存型5.0.50、24.5.1.0版本及以上时:

  • 在同一时间支持最多统计50个热点Key(在上述版本之前,Redis开源版仅支持统计20个热点Key)。

  • 当某个Key的QPS大于5,000时会被记录为热点Key(在上述版本之前,当Key的QPS大于3,000时即会被记录为热点Key)。

  • 支持展示热点Key的精确QPS(在上述版本之前,仅支持在热点Key的QPS小于6000时展示大致的QPS范围)。

操作步骤

  1. 登录DAS控制台

  2. 在左侧导航栏中,单击实例监控
  3. 找到目标实例,单击实例ID,进入目标实例详情页。
  4. 在左侧导航栏,单击Key分析

  5. 单击实时历史页签,系统将展示热Key大Key的相关信息。

    说明

    历史页签的大Key热Key查询仅支持最大查询时间范围为4天内的数据,且查询开始时间和结束时间的最大查询间隔为3小时内。

相关文档

当您在Redis控制台使用Key分析功能时,请参见实时Top Key统计

相关API

API

描述

DescribeHotBigKeys

实时获取当前内存中的热Key和大Key。

DescribeTopHotKeys

获取一段时间内排名前100的热Key。

DescribeTopBigKeys

获取一段时间内排名前100的大Key。

DescribeHotKeys

查询Redis实例的热Key。