在应用启动前预热数据库

在发布应用之前,我们建议您预热数据库 测试数据加载,以利用 Spanner 的并行化功能。

Spanner 是一个分布式数据库,这意味着,作为您的 Spanner 会将数据的关键空间划分为 称为分片的块。 每个分块是一系列行,其中包含表的子集。如 Spanner 根据负载和大小拆分数据, 可分别对各个分块进行独立分块, 不同的服务器资源 以平衡数据库上的总体负载

在最初将数据插入空数据库时,Spanner 将数据写入单个分块数据库仍处于“冷”状态。如 插入更多数据后,Spanner 会开始将该数据拆分到 将负载重新平衡到其他可用的服务器资源。现在 Spanner 处于“温”状态可用服务器上的分块状态 以最大程度地提高并行性并提高性能。

按照最佳做法,我们建议您在 Spanner 处于热状态,并且已创建分块, 在服务器资源之间实现平衡。为了预热数据库 请按照下列步骤操作:

  1. 请确保主键 都位于同一键空间中,并且具有 分发属性与您用于生产环境的密钥相同 流量。
  2. 在发布前两天内运行负载测试。在预期的峰值负载下运行负载测试至少 1 小时。负载测试会导致 Spanner 因基于负载的拆分而创建更多分片。
  3. 负载测试完成后,可以从表中删除负载测试生成的行,但不要删除表本身。这样便可以在发布期间使用分片。