计算容量、节点和处理单元

本页面介绍了 Spanner 计算容量和 用于量化的测量指标:节点和处理单元。

计算容量

计算容量定义了 可供实例中的数据库使用创建实例时,您可以将其计算容量指定为处理单元数或节点数,1000 个处理单元等于 1 个节点。

除非您要创建 计算容量小于 1000 个处理单元(1 个节点)的实例; 在这种情况下,您必须使用处理单元来指定 实例。

定义或更改实例的计算容量时,您需要指定 处理单元数为 100 的倍数(100、200、300 等)。当数字 处理单元数达到 1, 000 时,您可以指定更大的数量,例如 是 1000 个处理单元(1000、2000、3000 等)的倍数或节点(1、 2、3 等)。

处理单元数少于 1,000 的实例适合处理更小的数据 大小、查询和工作负载它们的计算资源有限 可能导致某些工作负载出现非线性伸缩和性能, 会出现间歇性增加的延迟

数据存储限制

详见配额和限制,以保证高可用性和 如访问数据库存在延迟,则 Spanner 会使用 根据实例的计算容量来确定存储限制, 以下指南:

  • 对于小于 1 个节点(1,000 个处理单元)的实例,Spanner 为每个会话分配 409.6 GB 流量 数据库中有 100 个处理单元。
  • 对于具有 1 个或更大节点的实例,Spanner 会配额 每个节点 4 TB 的数据。增加的存储空间容量 (每个节点 10 TB)仅在部分 单区域、双区域和多区域 Spanner 实例 配置。如需了解详情,请参阅 性能和存储空间方面的改进

例如,要为 300 GB 的数据库创建实例,您可以 将其计算容量设置为 100 个处理单元这些计算量 容量将实例保持在限值以下,直到数据库容量 超过 409.6 GB 的数据。在数据库达到 那么就需要再添加 100 个处理单元 。否则,Spanner 可能会拒绝写入数据库。对于 请参阅 数据库存储空间利用率建议

Spanner 会对实例实际使用的存储空间计费 而非总存储空间配额

性能

给定计算容量可以提供的峰值读取和写入吞吐量值取决于实例配置,以及架构设计和数据集特征。请参阅 单区域配置性能多区域配置性能部分 。

对于较小的数据,请使用处理单元数少于 1,000 的实例。 查询和工作负载。对于大型工作负载,其有限的计算资源 可能导致非线性伸缩和性能, 延迟时间增加

计算容量和实例配置

单区域、双区域和多区域配置中所述, Spanner 将实例分布在具有一个或多个可用区的可用区中 以提供高性能和高可用性。因此, Spanner 还会分发 实例的计算容量

下图说明了服务器资源的这种分布。

在单区域实例配置中创建的两个实例

下图展示了两个具有区域配置的实例:

  • Instance-A 显示 1,000 个处理单元(1 个节点)的实例,其 计算容量分布情况,其中每个节点都消耗了服务器资源 可用区
  • Instance-B 显示了一个具有 2,000 个处理单元(2 个节点)的实例, 计算容量分布情况,其中每个节点都消耗了服务器资源 可用区

请注意下图中的以下内容:

  • Spanner 在每个实例中分配服务器资源 可用区配置中每个可用区级服务器资源都使用 数据副本。了解实例中的数据副本 请参阅 单区域、双区域和多区域配置。 了解 Spanner 如何保留这些数据副本 请参阅复制

  • 实例 A 的服务器资源显示在单个框中,而 实例 B 的资源显示在分为两部分的框中。这个 说明 Spanner 会分配服务器 为不同规模的实例指定不同的资源

    • 对于数量不超过 1,000 个处理单元(1 个节点)的实例, Spanner 在单个服务器中分配服务器资源 一个任务。
    • 对于处理单元数超过 1,000(1 个节点)的实例, Spanner 在多个服务器中分配服务器资源 每个可用区执行一项任务,每 1000 个处理单元分配一项任务。使用 在每个可用区执行多项服务器任务,性能更佳, 要创建的 Spanner 数据库分块 并提供更出色的性能

更改计算容量

创建实例后,您可以增加其计算容量。在 大多数情况下,请求会在几分钟内完成在极少数情况下, 最多可能需要一个小时才能完成

在大多数情况下,您还可以减少计算容量。有几种情况 计算容量的场景:

  • 如果移除计算容量,您的实例需要存储超过 每 1000 个处理单元(1 个节点)4 TB 数据。
  • 根据您的历史使用模式,Spanner 创建了一个 大量的分块 在极少数情况下,Spanner 无法 在移除计算容量后管理分块。

在后一种情况下,您可以尝试逐步减少计算容量 直到找到 Spanner 支持的最小容量, 需要管理实例的所有分块如果实例不再需要 由于使用模式变化导致的分片过多,Spanner 可能 最终将一些分块合并在一起 在一两周后进一步增加实例的计算容量。

移除计算容量时,请监控 CPU 利用率和请求 Cloud Monitoring 中的延迟时间,以确保 CPU 区域级的利用率保持在 65% 以下 每个区域各占 45% 多区域实例您的请求数量可能会暂时增加 同时降低计算容量时所需的延迟。

Spanner 没有挂起模式。Spanner 计算容量是一项专用资源,即使您没有运行 Spanner 会经常执行后台工作来优化 并保护您的数据。

您可以使用 Google Cloud 控制台Google Cloud CLI 或 Spanner 客户端 来更改计算容量。如需了解详情,请参阅 更改计算容量

计算容量与副本

如果您需要纵向扩容实例中的服务器和存储资源,请增加实例的计算容量。请注意,增加计算 容量不会增加副本的数量 实例配置),而是增加每个副本拥有的资源 实例。增加计算容量会为每个副本提供更多 CPU 和 RAM, 这会提高副本的吞吐量(即 都有可能发生)。

后续步骤