本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
扩展 MemoryDB 集群
由于对您的集群的需求发生变化,您可能决定通过更改 MemoryDB 集群中的分片数量来提高性能或降低成本。我们建议使用在线水平扩展来实现这一目的,因为采用这种方法,您的集群在扩展过程中可以继续为请求提供服务。
您决定重新调节集群的情况包括以下几种:
-
内存压力:
如果集群中的节点存在内存压力,您可能会决定进行横向扩展,以便获得更多资源来更好地存储数据并为请求提供服务。
您可以通过监控以下指标来确定您的节点是否承受内存压力:FreeableMemorySwapUsage、和 BytesUsedForMemoryDB。
-
CPU或者网络瓶颈:
如果延迟/吞吐量问题给您的集群带来麻烦,您可能需要进行横向扩展来解决这些问题。
您可以通过监控以下指标来监控延迟和吞吐量级别:CPUUtilizationNetworkBytesIn、NetworkBytesOut、CurrConnections、和NewConnections。
-
您的集群过度扩展:
对集群的当前需求是缩减集群不会降低性能,并可以降低成本。
您可以使用以下指标监控集群的使用情况,以确定是否可以安全地进行扩展:FreeableMemorySwapUsageBytesUsedForMemory、、CPUUtilization、NetworkBytesInNetworkBytesOut、CurrConnections、和NewConnections。
扩展的性能影响
当使用离线过程进行扩展时,您的集群在大部分过程中处于离线状态,因此无法为请求提供服务。当使用在线方法进行扩展时,由于扩展是计算密集型操作,因此会导致一定程度的性能下降,但是在整个扩展操作过程中您的集群仍然会继续为请求提供服务。您的性能下降程度取决于您的正常CPU使用率和数据。
有两种方法可以扩展您的 MemoryDB 集群:横向和纵向扩展。
-
利用横向扩展,可以通过添加或移除分片来更改集群中的分片数量。在线重新分片过程允许在集群继续处理传入请求时进行缩减/扩展。
-
纵向扩展 – 更改节点类型以调整集群大小。在线纵向扩展允许在集群继续处理传入请求时进行扩展/缩减。
如果您要通过缩小或缩小集群的大小和内存容量,请确保新配置有足够的内存来容纳您的数据和引擎开销。