View a markdown version of this page

管理 Valkey 和 Redis OSS 的預留記憶體 - Amazon ElastiCache

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

管理 Valkey 和 Redis OSS 的預留記憶體

每個主機類型都有專用於 Valkey和 的記憶體量Redis OSS。這是公告的記憶體。reserved-memory-percent 參數會保留此記憶體的一部分,以供非資料使用:

  • 複本上的用戶端輸出緩衝區

  • 遺失分段的記憶體

  • 分叉 bgsave 使用的Copy-on-write記憶體

maxmemory 值等於公告的記憶體減去預留。例如,使用 13.5 GB 的公告記憶體和 25% 的預留, maxmemory約為 10.1 GB。

重要

reserved-memory-percent 預設為 25%。請勿降低此值。較低的預留可能會導致資料遺失,尤其是在叢集的升級或其他變更期間。

要預留多少記憶體

reserved-memory-percent 參數預設為 25%。請勿降低此值。不過,在某些情況下,您可以受益於增加記憶體預留。

微型和小型執行個體

微型和小型執行個體的大小適合輕度活動,而不必負擔複寫。若要改善這些執行個體在生產工作負載的操作可靠性,請將小型執行個體的記憶體保留增加到 30%,微型執行個體的記憶體保留增加到 50%。

強制分叉的 bgsave 或完全同步

在傳統分叉 bgsave 或完全同步期間,Valkey根據流量負載和模式,Redis OSS記憶體用量可能會加倍 (或更多)。如果 FreeableMemory 不足以執行傳統的分叉操作,Amazon ElastiCache 會自動切換到無分叉儲存機制。這種無分支機制使用較少的記憶體,但可能會新增用戶端延遲,尤其是使用非常大的金鑰/值項目。如果這些延遲對您的使用案例有影響,請增加記憶體預留,以確保有足夠的記憶體用於傳統叉儲存。

如果 AWS Support 指示

不尋常的流量模式或需求可能會導致獨特的記憶體需求。reserved-memory-percent 如果 AWS Support 指示,請增加 。

設定預留記憶體

reserved-memory-percent 參數專屬於 ElastiCache。它不是 Valkey 或 Redis OSS 開放原始碼的一部分。若要變更此值,請使用自訂參數群組。您無法修改預設參數群組。

如果 25% 適用於您,則不需要變更。若要使用不同的值,請遵循下列步驟。

變更 reserved-memory-percent 值
  1. 執行下列 AWS CLI 命令來建立自訂參數群組。設定 系列以符合您的引擎版本。如需建立參數群組的詳細資訊,請參閱 建立 ElastiCache 參數群組

    aws elasticache create-cache-parameter-group \ --cache-parameter-group-name my-parameter-group \ --description "Custom reserved memory settings" \ --cache-parameter-group-family redis7

    每個引擎系列只需要一個自訂參數群組。百分比值適用於所有節點類型。

  2. reserved-memory-percent 設定為您想要的值。如需有關修改參數群組的詳細資訊,請參閱修改 ElastiCache 參數群組

    aws elasticache modify-cache-parameter-group \ --cache-parameter-group-name my-parameter-group \ --parameter-name-values "ParameterName=reserved-memory-percent, ParameterValue=30"
  3. 將自訂參數群組套用至叢集或複寫群組。

    若要修改叢集,請執行下列 AWS CLI 命令。如需修改叢集的詳細資訊,請參閱 修改 ElastiCache 叢集

    aws elasticache modify-cache-cluster \ --cache-cluster-id my-cluster \ --cache-parameter-group-name my-parameter-group \ --apply-immediately

    若要修改複寫群組,請執行下列 AWS CLI 命令。如需修改複寫群組的詳細資訊,請參閱 修改複寫群組

    aws elasticache modify-replication-group \ --replication-group-id my-replication-group \ --cache-parameter-group-name my-parameter-group \ --apply-immediately