Key Visualizer 概览

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

版本和模式要求

本文档适用于原生模式下的 Firestore 标准版。

什么是 Key Visualizer?

Key Visualizer 是一款可帮助您分析 Firestore 使用模式的工具。它会生成可视化报告,并根据您访问的文档或在修改文档时写入或删除的索引条目来细分您的使用情况。

Key Visualizer 可以提供大规模使用模式的数据分析。Key Visualizer 的用途包括:

  • 性能问题排查。 Key Visualizer 可帮助您识别由顺序文档/索引键或流量突然增加的热点导致的数据库性能问题。
  • 更好地了解如何访问 Firestore 中存储的数据。
  • 迭代设计数据模型或改进现有数据模型的设计。在每次迭代中,您都可以检查 Key Visualizer 以发现数据模型引起的问题。

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

  • 检查您的读取或写入是否将在特定文档范围内创建热点。
  • 了解流量突然增加对延迟时间有何影响。
  • 查看您的访问模式是否在数据库之间保持平衡。
  • 检查索引键的结构,以确定导致索引加载问题的索引定义。
  • 使用索引键可视化图表可更好地预测工作负载模式。

扫描资格

每次 Key Visualizer 扫描需要两个小时。给定时间段内的扫描适用于该时间段内任何给定分钟内流量超过 3000 次的文档操作的数据库。

扫描资格取决于数据库活动。它不取决于数据量或数据库中的数据类型。

Key Visualizer 扫描

下图为一个 Key Visualizer 扫描示例。每次扫描均包含一个热图,用于显示一组文档键或索引键的访问模式或性能指标随时间变化的情况。

Key Visualizer 扫描示例

共享扫描网址

您可以共享 Key Visualizer 扫描的网址或将其添加到书签。该网址将打开相同的 Key Visualizer 扫描并选择相同的指标。此网址在扫描数据时���到���之前有效。

热图

Key Visualizer 扫描的核心是热图,它显示了一个指标值随时间的变化,细分为最多 1000 个连续的键桶

对于文档键热图,热图的 x 轴表示时间,y 轴表示文档键;而对于索引键热图,热图的 x 轴表示时间,y 轴表示索引键。

每个 Firestore 的 Key Visualizer 扫描都会涵盖两个小时的活动,这些活动分为 10 秒的片段。

指标低值被视为“冷”,并显示为深色。具有高值时指标为“hot”,呈现出明亮的色彩。最高值显示为白色。

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

Key Visualizer 还提供一些工具,可帮助您了解每次扫描中的数据。 请参阅 Key Visualizer 使用入门探索热图

键桶

Key Visualizer 会将数据库中的所有键划分为最多 1000 个连续范围,且每个范围内的键数量和操作次数/秒大致相同。 这些范围称为“键桶”

Key Visualizer 会使用数据库的总操作次数/秒来划分键桶,以便每个桶捕获大致相同的操作次数/秒,并且每个键桶的最小预期大小为 50 次操作/秒。对于总操作次数/秒较高的数据库,键桶可以捕获每个数据库超过 50 次操作/秒的数据。 如果数据库的操作次数/秒不足 50,则扫描结果将包含单个键桶。

Key Visualizer 报告的大多数指标是每个键桶的平均值,或者是每个键桶中的最大值。

指标

在 Key Visualizer 扫描中,以下指标适用于文档键:

指标 说明
活动指标
操作/秒 每秒文档操作平均数。大致等于每秒写入次数、查询次数和查询次数之和。此指标可以指明哪些键是热键。
每秒写入操作数 每秒写入和删除操作的平均文档操作次数。
每秒查找操作数 每秒查找的平均文档操作数。
每秒查询操作数 每秒查询的平均文档操作数。
性能指标
平均写入延迟时间 在存储桶中已处理数据中写入和删除的平均延迟时间。
平均查找延迟时间 在存储桶中已处理数据内查找的平均延迟时间。
平均查询延迟时间 存储桶中已处理数据中查询的平均延迟时间。
写入尾延迟时间 在存储桶中已处理数据中观察到的写入或删除延迟时间上限。
查找尾延迟时间 在存储桶中已处理数据中观察到的查找延迟时间上限。
查询尾延迟时间 在存储桶中已处理数据中观察到的查询延迟时间上限。

在 Key Visualizer 扫描中,以下指标适用于索引键:

指标 说明
每秒索引写入操作次数 每秒的平均索引写入次数。

性能平均值

平均延迟时间指标对键桶中的键取平均值。由于这种测量是在存储层进行的,因此此处报告的延迟时间可能低于 API 调用的总延迟时间。

限制

尽管 Key Visualizer 显示了各种指标,但它并未显示可影响 Firestore 性能的每个指标。例如:

  • 您的应用与 Google Cloud 之间的网络问题可能不可见。它们可能在 Key Visualizer 中的所有键上显示为垂直色带,它仅提示出现问题的时间

数据期限

Key Visualizer 为 Firestore 收集的数据会在 14 天后删除。

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

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

后续步骤