分区热力图功能支持查看各分区的访问情况和数据分布情况,可以帮助您快速发现数据过热的分区。
注意事项
仅5.4.14及以上版本支持此功能。
仅支持展示当前实例下所有AUTO模式数据库中的数据分布情况。
当单个逻辑库下的总分区数超过8000时,则不支持采集该数据库的热力信息,该限制可以通过修改内核参数PARTITIONS_HEATMAP_COLLECTION_MAX_SINGLE_LOGIC_SCHEMA_COUNT来调整。
当一次采集任务内采集的总分区数超过8000时,则不再采集其他分区热力信息,该限制可以通过修改内核参数PARTITIONS_HEATMAP_COLLECTION_MAX_SCAN来调整。
操作步骤
- 登录PolarDB分布式版控制台。
- 在页面左上角选择目标实例所在地域。
- 在实例列表页,单击PolarDB-X 2.0页签。
- 找到目标实例,单击实例ID。
在左侧导航栏中,单击 ,在该页面能够查看分区数据的分布和访问情况。
单击上方DN视图按钮可以切换到存储节点视角,分区数据热点信息将以存储节点的维度来展示,方便分析数据在物理存储节点间是否均衡,是否存在数据过热的物理存储节点。
左侧直方图:各个矩形分别代表当前实例下的逻辑库、逻辑表、逻辑分区,DN视图下代表存储节点、逻辑库、逻辑表、逻辑分区,其中表示DN节点和逻辑分区的矩形,通过长度表示拥有数据量的多少,长度越长表示数据量越多。
底部直方图:热力图纵向求和的汇总数据,即某一时刻所有分区的访问量之和。
右侧直方图:热力图横向求和的汇总数据,即某一分区所有时间范围内的访问量之和。
热力图:中央区域的颜色亮度表示访问量的高低程度,颜色越亮代表访问量越高,亮黄色表示访问量最高,黑色表示数据访问量最低。
说明当没有采集到数据时会显示NO DATA图像。
当展示的分区数量超过3200时会显示TOO BIG图像。
当采集的原始分区总数量超过1600时会对分区统计信息进行合并(不会对原分区造成影响,只合并热力统计信息),仅当被合并分区属于同一DN节点且属于同一逻辑表时才能进行合并,数据量越小的分区合并范围越大,当合并后的总分区数仍然超过3200时,也被认为分区数量过大从而显示TOO BIG图像。
当鼠标悬浮到热力图某一点时,会自动弹出指标详情信息,参数说明如下:
最上方颜色框:方框颜色与鼠标悬停处一致,框内数据表示该时间段内该分区的访问情况,单位为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}';
示例
采集逻辑库tpcc内的逻辑表customer、order和逻辑库tpch内的逻辑表nation的分区热力信息:
set ENABLE_SET_GLOBAL = true; set global PARTITIONS_HEATMAP_COLLECTION_ONLY = 'tpcc#customer&order,tpch#nation';
采集逻辑库tpcc和tpch内的所有逻辑表的分区热力信息:
set ENABLE_SET_GLOBAL = true; set global PARTITIONS_HEATMAP_COLLECTION_ONLY = 'tpcc,tpch';
采集所有逻辑库内的指定逻辑表customer、order的分区热力信息:
set ENABLE_SET_GLOBAL = true; set global PARTITIONS_HEATMAP_COLLECTION_ONLY = '#customer,#order'; ####或者##### set global PARTITIONS_HEATMAP_COLLECTION_ONLY = '#customer&order';
采集所有逻辑库的所有逻辑表的分区热力信息:
set ENABLE_SET_GLOBAL = true; set global PARTITIONS_HEATMAP_COLLECTION_ONLY = '';