扩缩

扩缩集群是指在集群中添加或移除节点以应对集群工作负载或数据存储需求的变化。

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

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

您可以根据集群的 CPU 使用率等指标扩缩 Bigtable 集群。例如,如果集群的负载很高,并且其 CPU 利用率较高,则可以向集群添加节点,直到其 CPU 使用率有所下降。您还可以从集群移除不使用的节点来节省费用。

限制

请注意以下限制。

节点可用性

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

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

将节点添加到集群后,负载繁重的集群可能需要长达 20 分钟的时间才能表现出性能显著提升。因此,如果您的工作负载涉及短暂的突发高活动,则根据 CPU 负载向集群添加节点并不会提升性能;等到 Bigtable 重新平衡数据时,这种短暂的活动将结束。

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

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

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

架构设计问题

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

如需详细了解如何设计架构以有效扩缩 Bigtable 的规模,请参阅设计您的架构

后续步骤