本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
隨著叢集的需求變更,您可以變更 MemoryDB 叢集中的碎片數量,以決定改善效能或降低成本。我們建議使用線上水平擴展來執行此動作,因為它可允許叢集在擴展程序期間繼續提供請求的服務。
您用來決定重新擴展叢集的可能條件包括下列:
-
記憶體壓力:
如果叢集中的節點遭受記憶體壓力,您可以決定向外擴展,使得您有更多資源能更妥善地存放資料和提供請求的服務。
您可以監控下列指標來判斷節點是否處於記憶體壓力:FreeableMemory、SwapUsage 和 BytesUsedForMemoryDB。
-
CPU 或網路瓶頸:
如果延遲/傳輸量問題正困擾著您的叢集,您可能需要向外擴展來解決問題。
您可以監控延遲和傳輸量層級,方法是監控下列指標:CPUUtilization、NetworkBytesIn、NetworkBytesOut、CurrConnections 和 NewConnections。
-
您的叢集過度擴展:
對叢集的目前需求使得向內擴展不會傷害效能和減少成本。
您可以監控叢集的使用,以判斷您是否可以使用下列指標安全地擴展:FreeableMemory、SwapUsage、BytesUsedForMemoryDB、CPUUtilization、NetworkBytesIn、NetworkBytesOut、CurrConnections 和 NewConnections。
擴展的效能影響
使用離線程序擴展時,您的叢集將有一大部分程序會離線,因此無法提供請求的服務。使用線上方法擴展時,因為擴展是運算密集的操作,效能會有一些下降,然後,您的叢集會繼續在整個擴展操作中提供請求的服務。您遭遇到的下降程度取決於您的一般 CPU 使用率和您的資料。
有兩種方式可以擴展您的 MemoryDB 叢集:水平和垂直擴展。
-
水平擴展可讓您透過新增或移除碎片,變更叢集中的碎片數量。線上重新分片程序允許向內/向外擴展,同時間叢集仍可繼續服務傳入請求。
-
垂直擴展 - 變更節點類型以調整叢集大小。線上垂直擴展允許向上/向下擴展,同時間叢集仍可繼續服務傳入請求。
如果您要透過向內擴展或向下擴展來減少叢集的大小和記憶體容量,請確保新組態有足夠的記憶體來容納您的資料和引擎額外負荷。