我想對無法縮減規模的 Amazon ElastiCache 自行設計的叢集進行疑難排解。
解決方法
如果您無法縮小自行設計的叢集,請檢查下列項目:
快取資料大小
每個 ElastiCache 節點都有為 Redis 引擎保留的專用記憶體量,而新節點類型可能沒有足夠的記憶體來儲存快取資料。例如,cache.m5.xlarge 節點類型具有 12.93 GiB 的儲存空間。依預設,ElastiCache 保留 25% 的總記憶體用於管理工作,例如 fullsync 和建立快照。若要變更此容量,請更新 reserved-memory-percent 參數。如需節點類型和儲存量的清單,請參閱 Amazon ElastiCache 定價。
若要檢查 used_memory 和 maxmemory 參數中的記憶體使用量,請使用 info memory 命令:
**注意:**info memory 命令以 GB 為單位顯示記憶體。Amazon ElastiCache 定價以 GiB 為單位顯示記憶體。
test.xm4oz6.ng.0001.use1.cache.amazonaws.com:6379> info memory
# Memory
used_memory:5579416
used_memory_human:5.32M
used_memory_rss:11218944
used_memory_rss_human:10.70M
used_memory_peak:5856480
used_memory_peak_human:5.59M
maxmemory:10418941287
maxmemory_human:9.70G
若要解決節點上缺少可用記憶體的問題,請減少快取資料或選擇容量更大的節點類型。
可用的節點類型
**注意:**如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤訊息,請參閱 AWS CLI 錯誤疑難排解。此外,請確定您使用的是最新的 AWS CLI 版本。
為確定您可以從目前節點類型中選取哪些節點類型,請執行 ListAllowedNodeTypeModifications API。
若要檢視 Redis 自行設計的叢集可以縮放到的可用節點類型,請執行 ListAllowedNodeTypeModifications 命令:
$aws elasticache list-allowed-node-type-modifications --replication-group-id checkout-cache-test
{
"ScaleUpModifications": [
"cache.r4.16xlarge",
"cache.r5.12xlarge",
"cache.r5.24xlarge",
"cache.r5.4xlarge"
],
"ScaleDownModifications": [
"cache.m3.2xlarge",
"cache.m3.large",
"cache.m3.medium",
"cache.m3.xlarge",
"cache.m4.2xlarge",
"cache.m4.4xlarge",
"cache.m4.large",
"cache.m4.xlarge",
"cache.r3.2xlarge",
"cache.r3.large",
"cache.r3.xlarge",
"cache.r4.2xlarge",
"cache.r4.large",
"cache.r4.xlarge",
"cache.t2.medium",
"cache.t2.micro",
"cache.t2.small",
"cache.t3.medium",
"cache.t3.micro",
"cache.t3.small"
]
}
**注意:**擴展至較小節點類型所需的時間取決於節點類型和目前快取叢集中的資料量。
相關資訊
管理保留記憶體
縮小 Redis 快取叢集 (AWS CLI)