自动扩缩概览

本页面介绍了 Spanner 中自动扩缩的工作原理,并介绍了您可以在 Spanner 中使用的两种自动扩缩类型。

扩缩 Spanner

创建 Spanner 实例时,您可以选择传送数据时要使用的计算容量节点或处理单元数量。但有时工作负载可能会增加或减少。扩缩实例是为应对实例工作负载或数据存储需求的变化而添加或移除计算容量的过程。

根据实例的 CPU 使用率等指标扩缩 Spanner 实例会很有帮助。例如,如果实例的负载较重且其 CPU 利用率较高,则可以暂时添加计算容量,并在其 CPU 使用率下降时再次将其移除。从实例使用量不高时移除计算容量可以降低费用。

您无法通过添加计算容量来解决所有 Spanner 性能问题。例如,对实例进行纵向扩容无法解决与实例大小无关的问题,如锁争用和热点。

您可以通过以下两种方式扩缩 Spanner 实例以适应工作负载变化:

  • 手动配置实例以添加或移除计算容量。
  • 为实例配置自动扩缩,以便计算容量自动增减以满足工作负载水平。

对于自动扩缩,您有以下选项:

本页面上的要求同时适用于代管式自动扩缩功能和开源自动扩缩器工具。

何时使用自动扩缩

自动扩缩具有以下优势:

  • 费用:自动扩缩会减少实例的计算容量。这有助于避免过度预配。
  • 性能:自动扩缩功能可让 Spanner 在工作负载发生变化或数据存储要求增加时自动为实例添加计算容量。这可确保实例具有足够的计算容量,以满足目标 CPU 利用率和存储要求,从而帮助保持工作负载性能目标。
  • 自动化:自动扩缩功能可降低管理复杂性。您无需手动监控和调节实例大小。借助托管式自动扩缩功能,您无需编写应用来执行这些任务,因为 Spanner 服务会为您处理这些任务。

自动扩缩功能在以下情况中通常可以做出最佳选择:

  • 稳定的白天或周期性流量模式,例如由网上银行系统生成的流量模式。
  • 预计有机增长的新应用。
  • 初次使用 Spanner 的工作负载。

虽然 Spanner 在流量增加时可以快速增加计算容量,但平衡额外容量可能需要一些时间。

后续步骤