Key Visualizer 概览

本页面简要介绍了 Bigtable 的 Key Visualizer 诊断工具。

什么是 Key Visualizer?

Key Visualizer 是一款可帮助您分析 Bigtable 使用模式的工具。它会为您的表生成可视化报告,并根据您访问的行键来细分您的使用情况。

Key Visualizer 可以提供大规模使用模式的见解,否则难以理解。Key Visualizer 的用途包括:

  • 迭代设计架构或改进现有架构的设计。 在每次迭代中,您都需要检查 Key Visualizer 以发现架构可能引起的问题,然后调整架构并再次检查。
  • 性能问题排查。
  • 更好地了解如何访问 Bigtable 中存储的数据。

Key Visualizer 可以帮助您完成以下任务来实现这些目标:

  • 检查您的读取或写入是否将在特定行上创建热点
  • 查找包含太多数据的行
  • 查看您的访问模式是否在表中的所有行之间保持平衡

尽管 Key Visualizer 显示了各种指标,但它并未显示可影响 Bigtable 性能的每个指标。例如,如果您的应用和 Google Cloud 之间存在网络问题,则这些网络问题可能不会显示出来,或者可能会在 Key Visualizer 中的所有键上显示为垂直色带,从而仅提示出现问题的时间。如果您无法通过查看 Key Visualizer 扫描确定性能问题的原因,则需要执行其他故障排除。

Key Visualizer 扫描

下图为一个 Key Visualizer 扫描示例。每次扫描都包含几种不同类型的信息:

  • 一个大型热图,显示一组行键的访问模式随时间的变化。
  • 沿热图的每个轴的聚合值,包括平均值以及总值或最大值。

Key Visualizer 扫描示例

Key Visualizer 还提供一些工具,可帮助您了解每次扫描中的数据。 如果您之前未使用过 Key Visualizer,请参阅开始使用 Key Visualizer 中的说明。如果您已经拥有一定经验,请参阅探索热图以了解详细信息。

热图

Key Visualizer 扫描的核心是热图,它显示了一个指标值随时间的变化,细分为行键的连续范围。热图的 x 轴表示时间,y 轴表示行键。如果该指标在某个时间点对于一组行键具有低值,则该指标为“cold”,以深色显示。具有高值时指标为“hot”,呈现出明亮的色彩,最高值显示为白色。

不同类型的使用在热图内呈现出不同视觉模式,使您一眼就能诊断出问题。如需查看常见模式,请参阅热图模式

默认情况下,Key Visualizer 热图会显示 Ops 指标,该指标表示读取和写入的总次数。您可以随时切换到热图以获取其他指标。如需了解详情,请参阅切换指标

您还可以一次查看多个指标,这可以帮助您找出不同指标之间的关联。

分层行键

行键通常由一组具有层次结构的值组成,各值之间由分隔符分隔。例如,行键 memusage#1423523569918 包含所有捕获内存使用情况的行的标识符,后跟标识该组中特定数据集的时间戳。

Key Visualizer 会自动识别这种类型的行键并将其分解为一个标签层次结构,参见上方示例中左侧。此功能可帮助您了解数据和访问模式在表各行中的分布情况。它还使您能够更快地深入了解特定行键范围的数据。

如果行键不是由多个值组成,则 Key Visualizer 仍会在扫描的左侧显示标签,但标签可能会意外拆分行键,而不是呈现清晰的层次结构。

键桶

Bigtable 表可以有数万亿行,因此报告每个行的指标并不总是可行的。Key Visualizer 会将所有行键划分为 1000 个连续范围,且每个范围内的行键数量大致相同。这些范围称为“键桶”

Key Visualizer 报告的大多数指标是每个键桶的平均值,或者是每个键桶中的最大值。对于警告指标性能指标,Key Visualizer 将通过报告各个行键或键桶中特定键范围的指标来提供更高的精确度。

在后台,Key Visualizer 每 15 分钟生成一次新的扫描数据。为了能够在连续的时间段内串连数据,Key Visualizer 会尝试保留与上一个 15 分钟时间段相同的键桶。此外,被删除的键也可能仍显示为桶边界。由于随着时间的推移添加和移除数据,表会变化,因此键桶有时会进行重新计算,以使其保持平衡。

Key Visualizer 还会每两周生成一组新的键桶,即使表没有发生很大变化,也只是从已删除键中移除任何剩余的桶边界。因此,即使表是稳定的,您也会发现您的键桶偶尔会更新。

聚合值

除了热图之外,Key Visualizer 扫描还包括沿热图底部和右侧的条形图中的聚合值。将鼠标悬停在聚合值上时,Key Visualizer 会突出显示热图中的一个狭窄区域并显示以下信息:

  • 对于 x 轴,Key Visualizer 将显示当前指标的平均值,以及总值或最大值。这些值以 15 分钟为间隔显示在所有可见键范围内。
  • 对于 y 轴,Key Visualizer 将显示可见时间范围内当前指标的平均值,细分到键范围。

限制

扫描的最小表大小

Key Visualizer 适用于每个集群至少包含 1 GB 数据的表。在表达到该大小后,最多可能需要一个小时扫描才可用。

时间范围

  • 下限:您可以在 Key Visualizer 中查看的最短时间范围是 15 分钟。
  • 上限:您可以查看的最长时间范围是 14 天。
  • 增量大小:以 15 分钟为增量提供 Key Visualizer 数据。

数据期限

提供过去 14 天的 Key Visualizer 数据。例如,如果您在 12 月 19 日中午 12:45 启动 Key Visualizer,则可以选择 12 月 5 日中午 12:45 作为时间范围的最早开始时间。

此限制还意味着,如果您将用于 Key Visualizer 扫描的网址添加为书签或者共享该网址,则该网址的最长有效期为 14 天。

后续步骤