Spanner 操作指南

本页面介绍了一些由用户控制的配置,而由这些配置引起的 Spanner 实例中断将被排除在 Spanner 服务等级协议 (SLA) 之外,该协议不涵盖“由 Google 的合理控制范围之外的因素引起的”服务中断。它还提供了有关如何避免这些配置的指南。

Spanner 可管理数据库操作的许多方面,例如拆分和重新平衡数据、复制、故障切换以及所有硬件和软件更新。您可以使用内置设置和管理 API 配置其中的许多行为。除了 Spanner 之外,您的工作负载还依赖于其他组件,例如应用和网络。这些由客户控制的配置可能会增加实例停机风险,具体取决于您的数据库负载和其他配置参数。

如果您的实例变得不健康,并且 Google 判断该实例未遵守本页所述的操作限制,那么由此导致的任何停机时段可能不会被纳入(也不会被计入)Spanner SLA 的涵盖范围内。

不计入 Spanner SLA 的配置

以下配置不在 Spanner SLA 的涵盖范围内:

  • 如果实例的配置和使用方式会导致工作负载过载,则 SLA 不适用。
  • 因您的自愿行为或不作为而导致的实例停机时间不在 SLA 的涵盖范围内
  • 如果您停用Spanner API 或创建和连接到 Spanner 所需的其他 Google Cloud API,则不在 SLA 的涵盖范围内。
  • 因网络配置(例如代理和防火墙规则)而导致 Spanner API 无法使用不在 SLA 的涵盖范围内。
  • 由于客户端过时或配置错误而导致应用不可用,不在 SLA 的涵盖范围内。特别是,请验证您使用的是否为具有受支持依赖项的最新客户端版本。例如,Java 应用应使用 Google 的 BOM(物料清单)以及 Gradle 或 Maven 等软件包管理器。

我们建议您使用 Cloud Monitoring 设置提醒和监控。

应避免的配置

为使 Spanner 实例保留在 SLA 的涵盖范围内,您必须避免以下配置:

  • CPU 过载:如果 CPU 利用率一直很高,则说明实例的大小不适合工作负载,并且实例可能不在 SLA 的涵盖范围内。Spanner CPU 利用率建议为故障切换事件提供开销,其中剩余的计算资源有助于容纳来自实例不可用部分的流量。您可以使用 Spanner CPU 利用率指标来监控 CPU 利用率。
  • 存储空间已满:Spanner 只会向您收取所用存储空间的费用。不过,每个节点或计算单元可管理的存储空间量都有限制。如果实例的大小不适合每个节点的可寻址存储空间,则该实例可能不在 SLA 的涵盖范围内。您可以使用 Spanner 存储空间利用率指标来监控存储空间利用率。
  • 配额限制:节点资源受用户级配额限制。 如果未提前申请增加配额,可能会导致计算资源过载,而这可能不在 SLA 的涵盖范围内。需要 Google 审批的配额增加请求通常会在一天内获得批准。
  • 预配会话:Spanner 客户端使用 gRPC 渠道与 Google Cloud 端点进行通信,以执行查询和管理操作。如果您的客户端环境提供的渠道不足以支持工作负载的请求量,则您的应用可能会遇到高延迟和低请求吞吐量,而这可能不在 SLA 的涵盖范围内。
  • 连接过载:如果发生暂时性故障,例如查询中的事务死锁、网络问题或管理 API 的速率限制,可以安全地重试许多 Spanner API。过于激进的重试可能会使现有连接不堪重负,导致资源耗尽或额外节流。延迟时间增加或吞吐量减少可能不在 SLA 的涵盖范围内。如需了解详情,请参阅管理客户端超时和重试
  • 普通硬盘 (HDD) 过载:借助分层存储,您可以将 Spanner 数据存储在固态硬盘 (SSD) 和普通硬盘 (HDD) 的混合存储空间中。如果 HDD 存储空间上的磁盘负载达到 100%,您的 Spanner 实例的延迟时间会显著增加,并且可能不在 SLA 的涵盖范围内。您可以使用 Spanner 分层存储指标来监控磁盘负载。

后续步骤