Top Key统计

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

前提条件

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

Key和热Key的统计排名机制

为避免对数据库造成额外的资源占用,本功能仅会统计客户端操作(读、写)过的Key,并仅保留和展示每种Key类型的Top数量,而不会实时扫描数据库中的所有Key。同时,在实例重启后或HA切换后,原先统计的TopKey信息将被清空,统计将重新开始,因此长时间未操作过的Key可能不会被纳入统计。如需了解数据库中所有Key的内存占用、数量分布等信息,请使用离线全量Key分析功能。

Key类型

适用版本

统计机制

展示说明

Key(子元素数量)

  • Redis开源版5.0及以上。

  • Tair(企业版)内存型、持久内存型。

元素数量(如Hash中的field数、Set中的member数等)达到阈值(默认2000)及以上时,被统计为大Key。可通过设置参数bigkey-threshold自定义阈值。

说明

若参数设置未显示此参数,请升级小版本后重试。

最多展示每个数据类型排名前3的大Key,当Key的元素数量相同时优先展示先写入的Key。

说明

若实例总共仅展示3个大Key,请升级小版本后重试。

Key(内存占用)

Tair(企业版)内存型云原生版且小版本25.6.0.0及以上。

  • Key的总内存占用大于阈值(默认500 MB)时,被统计为大Key。可通过设置参数bigkey-mem-threshold自定义阈值。

  • Key的单个子元素内存占用大于50MB时,被统计为大Key。

最多支持展示排名前3Key,当Key的大小相同时按字符串字典序排序。

Key(QPS)

  • Redis开源版5.0及以上。

  • Tair(企业版)内存型、持久内存型。

KeyQPS超过5000时,被记录为热Key。可通过设置参数hotkey-threshold自定义阈值。

说明

支持统计不存在的Key。当数据类型显示not-exist-key,代表此Key不存在但存在高频访问。

在同一时间内,系统最多展示前50个热Key,支持实时展示其精确QPS。

说明

建议您升级实例版本至Redis开源版7.0.18、6.0.2.9、5.5.2.9Tair内存型5.0.50、25.2.0.0版本及以上。在上述版本之前:热KeyQPS统计阈值为3000且不支持调整,同时仅能展示其大致的QPS范围,且Redis开源版仅支持统计20个热Key。

Key(流量)

Tair(企业版)内存型云原生版且小版本25.2.0.0及以上。

Key的访问流量超过1MB/s时,被记录为热Key。

  • 默认不开启,可通过设置参数#no_loose_high-cost-key-enabledyes开启此项统计。

  • 可通过设置参数#no_loose_high-cost-key-traffic-bytes-threshold调整统计阈值(单位B/s)。

在同一时间内,系统最多展示前50个热Key,支持实时展示其精确出、入流量和访问频次。

本功能支持统计的数据结构如下:

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

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

    说明

    Tair(企业版)持久内存型仅支持统计TairHash 和 TairString。

操作步骤

  1. 登录DAS控制台

  2. 在左侧导航栏中,单击智能运维中心 > 实例监控

  3. 单击Redis页签。

  4. 找到目标实例,单击实例ID,进入目标实例详情页。

  5. 在左侧导航栏,单击Top Key统计

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

    说明

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

相关文档

当您在Tair控制台使用本功能,请参见Top Key统计

相关API

API

描述

DescribeHotBigKeys

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

DescribeTopHotKeys

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

DescribeTopBigKeys

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

DescribeHotKeys

查询Redis实例的热Key。