自动扩缩概览

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

扩缩 Spanner

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

根据 Spanner 使用率等指标扩缩 Spanner 实例很有用。例如,如果您的实例处于高负载状态,并且其 CPU 利用率较高,您可以暂时增加计算容量,并在其 CPU 使用率下降时再次移除该容量。在实例的使用较少时,从实例中移除计算容量可以降低费用。

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

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

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

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

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

何时使用自动扩缩

自动扩缩具有以下优势:

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

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

  • 稳定的白天或周期性流量模式,例如网上银行系统生成的流量模式。
  • 预计能实现自然增长的新应用。
  • 刚开始接触 Spanner 的工作负载。

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

后续步骤