扩缩

扩缩集群是指在集群内添加或移除节点的过程 对集群工作负载或数据存储需求的变化做出响应。

您可以通过以下方式扩缩 Bigtable 集群:

在大多数情况下,选择自动扩缩。为可用区启用自动扩缩功能后, Bigtable 会持续监控该集群 根据您的设置自动调整节点数量。

您可以根据 集群 CPU 使用率。例如,如果您的集群负载较重, 这种情况下,您可以向集群添加节点,直到其 CPU 利用率较高 使用量下降。您也可以在集群运行该节点时从集群中移除节点, 没有被大量使用

限制

请注意以下限制。

节点可用性

无论集群启用了手动节点分配还是自动扩缩,节点配额都适用。如需了解详情,请参阅配额和节点可用性

节点重新均衡时出现延迟现象

将节点添加到集群后,负载繁重的集群可能需要长达 20 分钟的时间才能表现出性能显著提升。因此,如果 工作负载涉及短时间的高强度活动,为节点添加节点 但基于 CPU 负载的集群在性能方面并没有提高, Bigtable 会再平衡您的数据,因此短时间的爆发性活动 结束。

若要规划此延迟时间,您可以先通过编程方式或通过 Google Cloud 控制台向集群添加节点,然后再增加集群的负载。这种方法可让 Bigtable 在工作负载增加之前有时间将您的数据重新平衡到增加的节点。在使用手动节点分配的集群上,更改节点数量。在使用自动扩缩功能的集群上,更改节点数下限。流量恢复正常后,更改回原先的节点设置。

因纵向缩容过快而导致的延迟增加

当您减少集群中的节点数量进行纵向缩容时,请尽量不要在 10 分钟内将集群大小降低 10% 以上。如果集群中的剩余节点暂时不堪重负,则纵向缩容过快可能会导致性能问题,例如延迟增加。

架构设计问题

如果表的架构设计存在问题,则向 Bigtable 集群添加节点可能不会提升性能。例如,如果 因为对表的某一行执行了大量读取或写入操作, 读取或写入将转到集群中的同一节点;因此 添加节点并不会提升性能相反,如果读取和写入操作均匀分布到表的各行中,则添加节点通常会使性能有所提升。

请参阅设计您的架构,了解有关如何设计 可让 Bigtable 有效扩缩的架构。

后续步骤