自动扩缩概览

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

扩缩 Spanner

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

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

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

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

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

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

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

何时使用自动扩缩

自动扩缩具有以下优势:

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

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

  • 稳定的昼夜或周期性流量模式,例如由网上银行系统生成的流量模式。
  • 预期将自然增长的新应用。
  • 针对 Spanner 的新工作负载。

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

后续步骤