自动扩缩概览

本页介绍了自动扩缩在 Spanner 中的运作方式,并介绍了您可以在 Spanner 中使用的两种自动扩缩。

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

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

增加计算容量并不能解决所有 Spanner 性能问题。例如,扩容实例无法解决与实例大小无关的问题,例如锁争用和热点。

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

  • 手动配置实例以添加或移除计算容量。
  • 在实例上配置自动扩缩,以便计算容量自动扩容或缩容以满足工作负载级别。

对于自动扩缩,您可以使用以下选项:

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

何时使用自动扩缩

自动扩缩具有以下优势:

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

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

  • 稳定的时间序列流量模式或周期性流量模式,例如由在线银行系统生成的流量模式。
  • 预期将自然增长的新应用。
  • Spanner 的新工作负载。

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

后续步骤