扩缩
扩缩集群是指在集群内添加或移除节点的过程 对集群工作负载或数据存储需求的变化做出响应。
您可以通过以下方式扩缩 Bigtable 集群:
- 自动扩缩
- 手动分配节点
在大多数情况下,选择自动扩缩。为集群启用自动扩缩功能后,Bigtable 会持续监控集群,并根据您的设置自动调整节点数量。
您可以根据 集群 CPU 使用率。例如,如果集群的负载很高,并且其 CPU 使用率也很高,您可以向集群添加节点,直到其 CPU 使用率有所下降为止。您也可以将不常使用的节点从集群中移除,以节省资金。
限制
请注意以下限制。
节点可用性
无论集群启用了手动节点分配还是自动扩缩,节点配额都适用。如需了解详情,请参阅配额和节点可用性。
节点重新均衡时出现延迟现象
将节点添加到集群后,负载繁重的集群可能需要长达 20 分钟的时间才能表现出性能显著提升。因此,如果 工作负载涉及短时间的高活动, 但基于 CPU 负载的集群在性能方面并没有提高, Bigtable 会再平衡您的数据,因此短时间的爆发性活动 结束。
若要规划此延迟时间,您可以先通过编程方式或通过 Google Cloud 控制台向集群添加节点,然后再增加集群的负载。这种方法可让 Bigtable 在工作负载增加之前有时间将您的数据重新平衡到增加的节点。在使用手动节点分配的集群上,更改节点数量。在使用自动扩缩功能的集群上,更改节点数下限。流量恢复正常后,更改回原先的节点设置。
因纵向缩容过快而导致的延迟增加
当您减少集群中的节点数量进行纵向缩容时,请尽量不要在 10 分钟内将集群大小降低 10% 以上。如果集群中的剩余节点暂时不堪重负,则纵向缩容过快可能会导致性能问题,例如延迟增加。
架构设计问题
如果表的架构设计存在问题,则向 Bigtable 集群添加节点可能不会提升性能。例如,如果您要对表的单个行执行大量读取或写入操作,则所有读取或写入操作都将转至集群的同一节点,因此,添加节点并不会提升性能。相反,如果读取和写入操作均匀分布到表的各行中,则添加节点通常会使性能有所提升。
请参阅设计您的架构,了解有关如何设计 可让 Bigtable 有效扩缩的架构。
后续步骤
- 了解 Bigtable 自动扩缩。
- 了解如何以编程方式以及通过 Google Cloud 控制台监控您的实例。