本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
管理 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 值
-
執行下列 AWS CLI 命令來建立自訂參數群組。設定 系列以符合您的引擎版本。如需建立參數群組的詳細資訊,請參閱 建立 ElastiCache 參數群組。
aws elasticache create-cache-parameter-group \ --cache-parameter-group-namemy-parameter-group\ --description "Custom reserved memory settings" \ --cache-parameter-group-familyredis7每個引擎系列只需要一個自訂參數群組。百分比值適用於所有節點類型。
-
reserved-memory-percent設定為您想要的值。如需有關修改參數群組的詳細資訊,請參閱修改 ElastiCache 參數群組。aws elasticache modify-cache-parameter-group \ --cache-parameter-group-namemy-parameter-group\ --parameter-name-values "ParameterName=reserved-memory-percent, ParameterValue=30" -
將自訂參數群組套用至叢集或複寫群組。
若要修改叢集,請執行下列 AWS CLI 命令。如需修改叢集的詳細資訊,請參閱 修改 ElastiCache 叢集。
aws elasticache modify-cache-cluster \ --cache-cluster-idmy-cluster\ --cache-parameter-group-namemy-parameter-group\ --apply-immediately若要修改複寫群組,請執行下列 AWS CLI 命令。如需修改複寫群組的詳細資訊,請參閱 修改複寫群組。
aws elasticache modify-replication-group \ --replication-group-idmy-replication-group\ --cache-parameter-group-namemy-parameter-group\ --apply-immediately