分区热力图

分区热力图功能支持查看各分区的访问情况和数据分布情况,可以帮助您快速发现数据过热的分区。

注意事项

  • 仅5.4.14及以上版本支持此功能。

  • 仅支持展示当前实例下所有AUTO模式数据库中的数据分布情况。

  • 当单个逻辑库下的总分区数超过8000时,则不支持采集该数据库的热力信息,该限制可以通过修改内核参数PARTITIONS_HEATMAP_COLLECTION_MAX_SINGLE_LOGIC_SCHEMA_COUNT来调整。

  • 当一次采集任务内采集的总分区数超过8000时,则不再采集其他分区热力信息,该限制可以通过修改内核参数PARTITIONS_HEATMAP_COLLECTION_MAX_SCAN来调整。

操作步骤

  1. 登录PolarDB分布式版控制台
  2. 在页面左上角选择目标实例所在地域。
  3. 实例列表页,单击PolarDB-X 2.0页签。
  4. 找到目标实例,单击实例ID。
  5. 在左侧导航栏中,单击诊断与优化 > 分区热力图,在该页面能够查看分区数据的分布和访问情况。

    单击上方DN视图按钮可以切换到存储节点视角,分区数据热点信息将以存储节点的维度来展示,方便分析数据在物理存储节点间是否均衡,是否存在数据过热的物理存储节点。

    图 1. 库表视图456789

    图 2. DN视图456789

    • 左侧直方图:各个矩形分别代表当前实例下的逻辑库、逻辑表、逻辑分区,DN视图下代表存储节点、逻辑库、逻辑表、逻辑分区,其中表示DN节点和逻辑分区的矩形,通过长度表示拥有数据量的多少,长度越长表示数据量越多。

    • 底部直方图:热力图纵向求和的汇总数据,即某一时刻所有分区的访问量之和。

    • 右侧直方图:热力图横向求和的汇总数据,即某一分区所有时间范围内的访问量之和。

    • 热力图:中央区域的颜色亮度表示访问量的高低程度,颜色越亮代表访问量越高,亮黄色表示访问量最高,黑色表示数据访问量最低。

      说明
      • 当没有采集到数据时会显示NO DATA图像。

      • 当展示的分区数量超过3200时会显示TOO BIG图像。

      • 当采集的原始分区总数量超过1600时会对分区统计信息进行合并(不会对原分区造成影响,只合并热力统计信息),仅当被合并分区属于同一DN节点且属于同一逻辑表时才能进行合并,数据量越小的分区合并范围越大,当合并后的总分区数仍然超过3200时,也被认为分区数量过大从而显示TOO BIG图像。

  6. 当鼠标悬浮到热力图某一点时,会自动弹出指标详情信息,参数说明如下:

    456789
    • 最上方颜色框:方框颜色与鼠标悬停处一致,框内数据表示该时间段内该分区的访问情况,单位为rows/min,即行数/分钟

    • 开始时间:分区热力信息的采样开始时间。

    • 结束时间:分区热力信息的采样结束时间。

    • 当前行数:该分区当前所存储的数据行数。

      说明

      当前是指打开热力图的时刻,并不是图中指标开始时间结束时间对应的时刻。

    • DN节点:该分区所在的数据节点。

      说明

      如果显示-,表示该展示分区当前已经不存在,可能是DDL变更或热力信息统计过程中对分区进行重新合并引起的。

    • 库:分区所在逻辑库名。

    • 表:分区所在逻辑表名。

    • 分区:逻辑分区名。

自定义操作

关闭分区热力采集功能

set ENABLE_SET_GLOBAL = true;
set global ENABLE_PARTITIONS_HEATMAP_COLLECTION = false;
说明

已采集到的信息仍然会在界面展示,关闭该功能后不再采集信息。

采集指定逻辑库表的分区热力信息

set ENABLE_SET_GLOBAL = true;
set global PARTITIONS_HEATMAP_COLLECTION_ONLY = '{database1}#{table1}&{table2},{database12}#{table1}&{table2}';

示例

  1. 采集逻辑库tpcc内的逻辑表customer、order和逻辑库tpch内的逻辑表nation的分区热力信息:

    set ENABLE_SET_GLOBAL = true;
    set global PARTITIONS_HEATMAP_COLLECTION_ONLY = 'tpcc#customer&order,tpch#nation';
  2. 采集逻辑库tpcc和tpch内的所有逻辑表的分区热力信息:

    set ENABLE_SET_GLOBAL = true;
    set global PARTITIONS_HEATMAP_COLLECTION_ONLY = 'tpcc,tpch';
  3. 采集所有逻辑库内的指定逻辑表customer、order的分区热力信息:

    set ENABLE_SET_GLOBAL = true;
    set global PARTITIONS_HEATMAP_COLLECTION_ONLY = '#customer,#order';
    ####或者#####
    set global PARTITIONS_HEATMAP_COLLECTION_ONLY = '#customer&order';
                        
  4. 采集所有逻辑库的所有逻辑表的分区热力信息:

    set ENABLE_SET_GLOBAL = true;
    set global PARTITIONS_HEATMAP_COLLECTION_ONLY = '';