Spanner 操作指南

本页面介绍了一些由用户控制的配置,而这些配置可能会引起被排除在 Spanner 服务等级协议 (SLA) 之外的 Spanner 实例服务中断(该协议不涵盖“由 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 的涵盖范围内。
  • 连接过载:许多 Spanner API 在发生暂时性故障(例如查询中的事务死锁、网络问题或管理 API 的速率限制)时可以安全地进行重试。过于激进的重试可能会使现有连接不堪重负,从而导致资源耗尽或进一步节流。延迟时间增加或吞吐量减少可能不在 SLA 的涵盖范围内。如需了解详情,请参阅管理客户端超时和重试
  • 硬盘驱动器 (HDD) 过载分层存储使您可以将 Spanner 数据存储在固态硬盘 (SSD) 和硬盘驱动器 (HDD) 的混合存储空间中。如果 HDD 存储空间上的磁盘负载达到 100%,您的 Spanner 实例的延迟时间会显著增加,可能不在 SLA 的涵盖范围内。您可以使用 Spanner 分层存储指标来监控磁盘负载。

后续步骤