Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Gestione della memoria riservata per Valkey e Redis OSS
La memoria prenotata è la memoria destinata all'utilizzo diverso dai dati. Quando eseguono un backup o un failover, Valkey e Redis OSS utilizzano la memoria disponibile per registrare le operazioni di scrittura sul cluster mentre i dati del cluster vengono scritti nel file.rdb. Se non disponi di memoria sufficiente per tutte le scritture, il processo non va a buon fine. Di seguito, è possibile trovare informazioni sulle opzioni per la gestione della memoria riservata per ElastiCache (RedisOSS) e su come applicarle.
Argomenti
Qual è la quantità di memoria prenotata necessaria?
Se utilizzi una versione di Redis OSS precedente alla 2.8.22, riserva più memoria per i backup e i failover rispetto a Redis 2.8.22 o successiva. OSS Questo requisito è dovuto ai diversi modi in cui (Redis) implementa il processo di backup. ElastiCache OSS La regola generale è quella di riservare metà del maxmemory
valore di un tipo di nodo per Redis OSS overhead per le versioni precedenti alla 2.8.22 e un quarto per le versioni Redis 2.8.22 e successive. OSS
A causa delle diverse modalità di ElastiCache implementazione del processo di backup e replica, la regola generale consiste nel riservare il 25% del valore di un tipo di nodo utilizzando il parametro. maxmemory
reserved-memory-percent
Questo è il valore predefinito e consigliato nella maggior parte dei casi.
Quando i tipi di istanze micro e piccole istanze burstable funzionano vicino maxmemory
ai limiti, è possibile che si verifichi l'utilizzo dello swap. Per migliorare l'affidabilità operativa di questi tipi di istanze durante il backup, la replica e il traffico elevato, consigliamo di aumentare il valore del reserved-memory-percent
parametro fino al 30% sui tipi di istanze di piccole dimensioni e fino al 50% sui tipi di micro istanze.
Per carichi di lavoro impegnativi in scrittura su ElastiCache cluster con suddivisione dei dati su più livelli, consigliamo di aumentare la memoria disponibile del nodo fino reserved-memory-percent
al 50%.
Per ulteriori informazioni, consulta gli argomenti seguenti:
Parametri per gestire memoria prenotata
A partire dal 16 marzo 2017, Amazon ElastiCache fornisce due parametri che si escludono a vicenda per la gestione della memoria Valkey o Redis OSS e. reserved-memory
reserved-memory-percent
Nessuno di questi parametri fa parte della distribuzione Valkey o Redis. OSS
A seconda di quando sei diventato ElastiCache cliente, l'uno o l'altro di questi parametri è il parametro di gestione della memoria predefinito. Questo parametro si applica quando si crea un nuovo OSS cluster o gruppo di replica Valkey o Redis e si utilizza un gruppo di parametri predefinito.
-
Per i clienti che hanno iniziato prima del 16 marzo 2017: quando si crea un OSS cluster o un gruppo di replica Redis utilizzando il gruppo di parametri predefinito, il parametro di gestione della memoria è.
reserved-memory
In questo caso, zero (0) byte di memoria sono riservati. -
Per i clienti che hanno iniziato il 16 marzo 2017 o dopo tale data: quando si crea un OSS cluster o un gruppo di replica Valkey o Redis utilizzando il gruppo di parametri predefinito, il parametro di gestione della memoria è.
reserved-memory-percent
In questo caso, il 25% del valoremaxmemory
del nodo è riservato per scopi non dati.
Dopo aver letto i due parametri di gestione della OSS memoria Valkey o Redis, potresti preferire utilizzare quello che non è quello predefinito o con valori non predefiniti. In questo caso, puoi passare all'altro parametro di gestione della memoria prenotata.
Per modificare il valore di tale parametro, è possibile creare un gruppo di parametri personalizzato e modificarlo in modo da utilizzare il parametro e il valore di gestione della memoria preferiti. È quindi possibile utilizzare il gruppo di parametri personalizzato ogni volta che si crea un nuovo cluster o gruppo di replica Valkey o RedisOSS. Per cluster o gruppi di replica esistenti, puoi modificarli per utilizzare il gruppo di parametri personalizzato.
Per ulteriori informazioni, consulta gli argomenti seguenti:
Il parametro reserved-memory
Prima del 16 marzo 2017, tutta la gestione della memoria riservata ElastiCache (RedisOSS) veniva eseguita utilizzando il parametro. reserved-memory
Il valore di default di reserved-memory
è 0. Questa impostazione predefinita non riserva memoria per il OSS sovraccarico di Valkey o Redis e consente a Valkey o Redis OSS di consumare tutta la memoria di un nodo con i dati.
La modifica di reserved-memory
per disporre di memoria sufficiente per i backup e i failover, richiede la creazione di un gruppo di parametri personalizzato. In questo gruppo di parametri personalizzati, viene impostato reserved-memory
un valore appropriato per la OSS versione Valkey o Redis in esecuzione sul cluster e il tipo di nodo del cluster. Per ulteriori informazioni, consulta Qual è la quantità di memoria prenotata necessaria?
Il parametro reserved-memory
è specifico ElastiCache e non fa parte della distribuzione generale di RedisOSS.
La procedura seguente mostra come utilizzare per reserved-memory
gestire la memoria sul cluster Valkey o RedisOSS.
Per prenotare la memoria utilizzando la memoria prenotata
-
Creare un gruppo di parametri personalizzato specificando la famiglia di gruppi di parametri corrispondente alla versione del motore in esecuzione, ad esempio specificando la proprietà
redis2.8
famiglia di gruppi di parametri. Per ulteriori informazioni, consulta Creazione di un gruppo di ElastiCache parametri.aws elasticache create-cache-parameter-group \ --cache-parameter-group-name
redis6x-m3xl
\ --description "Redis OSS 2.8.x for m3.xlarge node type
" \ --cache-parameter-group-familyredis6.x
-
Calcola quanti byte di memoria riservare per il sovraccarico di Valkey o Redis. OSS Il valore di
maxmemory
per il tipo di nodo è disponibile in Parametri specifici del tipo di nodo Redis OSS. -
Modificare il gruppo di parametri personalizzato in modo che il parametro
reserved-memory
corrisponda al numero di byte calcolati nella fase precedente. L' AWS CLI esempio seguente presuppone che stiate utilizzando una versione di Redis OSS precedente alla 2.8.22 e che dobbiate riservare metà di quella del nodo.maxmemory
Per ulteriori informazioni, consulta Modifica di un gruppo di ElastiCache parametri.aws elasticache modify-cache-parameter-group \ --cache-parameter-group-name
redis28-m3xl
\ --parameter-name-values "ParameterName=reserved-memory, ParameterValue=7130316800
"Occorre un gruppo di parametri personalizzato separato per ogni tipo di nodo in uso, perché ogni tipo di nodo dispone di un valore
maxmemory
diverso. Pertanto, ogni tipo di nodo richiede un valore diverso perreserved-memory
. -
Modifica il OSS cluster o il gruppo di replica Redis per utilizzare il gruppo di parametri personalizzato.
L'CLIesempio seguente modifica il cluster
my-redis-cluster
per utilizzare il gruppo di parametri personalizzato a partire da subito.redis28-m3xl
Per ulteriori informazioni, consulta Modifica di un cluster ElastiCache .aws elasticache modify-cache-cluster \ --cache-cluster-id
my-redis-cluster
\ --cache-parameter-group-nameredis28-m3xl
\ --apply-immediatelyL'CLIesempio seguente modifica il gruppo di replica
my-redis-repl-grp
per utilizzare il gruppo di parametri personalizzati a partire da subito.redis28-m3xl
Per ulteriori informazioni, consulta Modifica di un gruppo di replica.aws elasticache modify-replication-group \ --replication-group-id
my-redis-repl-grp
\ --cache-parameter-group-nameredis28-m3xl
\ --apply-immediately
Il parametro reserved-memory-percent
Il 16 marzo 2017, Amazon ElastiCache ha introdotto il parametro reserved-memory-percent
e lo ha reso disponibile su tutte le versioni di ElastiCache (RedisOSS). Lo scopo di reserved-memory-percent
è semplificare la gestione della memoria prenotata tra tutti i cluster. A tal fine, l'utente può disporre di un singolo gruppo di parametri per ogni famiglia di gruppo di parametri (ad esempio redis2.8
) per gestire la memoria prenotata dei cluster, a prescindere dal tipo di nodo. Il valore di default per reserved-memory-percent
è 25 (25 percento).
Il parametro reserved-memory-percent
è specifico ElastiCache e non fa parte della distribuzione generale di RedisOSS.
Se il cluster utilizza un tipo di nodo della famiglia r6gd e l'utilizzo della memoria raggiunge il 75%, il tiering di dati verrà attivato automaticamente. Per ulteriori informazioni, consulta Suddivisione dei dati su più livelli in ElastiCache.
Per riservare memoria utilizzando reserved-memory-percent
Da utilizzare reserved-memory-percent
per gestire la memoria del cluster ElastiCache (RedisOSS), esegui una delle seguenti operazioni:
-
Se utilizzi Redis OSS 2.8.22 o versione successiva, assegna il gruppo di parametri predefinito al cluster. Il valore di default di 25 percento dovrebbe essere adeguato. In caso contrario, attenersi alla procedura descritta di seguito per modificare il valore.
-
Se utilizzi una versione di Redis OSS precedente alla 2.8.22, probabilmente dovrai riservare più memoria del 25% predefinito.
reserved-memory-percent
A tale scopo, procedi come indicato di seguito.
Per modificare il valore percentuale di reserved-memory-percent
-
Creare un gruppo di parametri personalizzato specificando la famiglia di gruppi di parametri corrispondente alla versione del motore in esecuzione, ad esempio specificando la famiglia di gruppi di parametri
redis2.8
. Un gruppo di parametri di default è necessario perché non è possibile modificare un gruppo di parametri di default. Per ulteriori informazioni, consulta Creazione di un gruppo di ElastiCache parametri.aws elasticache create-cache-parameter-group \ --cache-parameter-group-name
redis28-50
\ --description "Redis OSS 2.8.x 50% reserved
" \ --cache-parameter-group-familyredis2.8
Poiché
reserved-memory-percent
consente di riservare memoria con una percentuale dellamaxmemory
del nodo, non è necessario un gruppo di parametri personalizzato per ogni tipo di nodo. -
Modificare il gruppo di parametri personalizzato in modo che
reserved-memory-percent
sia 50 (50 percento). Per ulteriori informazioni, consulta Modifica di un gruppo di ElastiCache parametri.aws elasticache modify-cache-parameter-group \ --cache-parameter-group-name
redis28-50
\ --parameter-name-values "ParameterName=reserved-memory-percent, ParameterValue=50
" -
Utilizza questo gruppo di parametri personalizzato per qualsiasi OSS cluster o gruppo di replica Redis che esegue una versione di Redis OSS precedente alla 2.8.22.
L'CLIesempio seguente modifica il OSS cluster Redis per utilizzare il gruppo di parametri personalizzato
my-redis-cluster
a partire da subito.redis28-50
Per ulteriori informazioni, consulta Modifica di un cluster ElastiCache .aws elasticache modify-cache-cluster \ --cache-cluster-id
my-redis-cluster
\ --cache-parameter-group-nameredis28-50
\ --apply-immediatelyL'CLIesempio seguente modifica il gruppo di OSS replica Redis
my-redis-repl-grp
per utilizzare il gruppo di parametri personalizzato a partire da subito.redis28-50
Per ulteriori informazioni, consulta Modifica di un gruppo di replica.aws elasticache modify-replication-group \ --replication-group-id
my-redis-repl-grp
\ --cache-parameter-group-nameredis28-50
\ --apply-immediately
Specifica del parametro di gestione della memoria prenotata
Se eri un ElastiCache cliente attuale il 16 marzo 2017, il tuo parametro di gestione della memoria riservata predefinito è reserved-memory
pari a zero (0) byte di memoria riservata. Se sei diventato ElastiCache cliente dopo il 16 marzo 2017, il tuo parametro di gestione della memoria riservata predefinito prevede reserved-memory-percent
il 25 percento della memoria riservata del nodo. Questo vale indipendentemente dal momento in cui hai creato il cluster ElastiCache (RedisOSS) o il gruppo di replica. Tuttavia, è possibile modificare il parametro di gestione della memoria riservata utilizzando o. AWS CLI ElastiCache API
I parametri reserved-memory
e reserved-memory-percent
sono mutuamente esclusivi. Un gruppo di parametri ne conterrà sempre uno ma non entrambi. Puoi cambiare il parametro utilizzato da un gruppo di parametri per la gestione della memoria prenotata modificando il gruppo di parametri. Il gruppo di parametri deve essere un gruppo di parametri personalizzato, perché non puoi modificare i gruppi di parametri di default. Per ulteriori informazioni, consulta Creazione di un gruppo di ElastiCache parametri.
Per specificare reserved-memory-percent
Per utilizzare reserved-memory-percent
come parametro di gestione della memoria prenotata, modifica un gruppo di parametri personalizzato utilizzando il comando modify-cache-parameter-group
. Utilizzo del parametro parameter-name-values
per specificare reserved-memory-percent
e un valore per esso.
L'CLIesempio seguente modifica il gruppo di parametri personalizzati redis32-cluster-on
in modo da utilizzarlo reserved-memory-percent
per gestire la memoria riservata. Affinché il gruppo di parametri utilizzi il parametro ParameterName
per la gestione della memoria prenotata, occorre assegnare un valore a ParameterValue
. Per ulteriori informazioni, consulta Modifica di un gruppo di ElastiCache parametri.
aws elasticache modify-cache-parameter-group \ --cache-parameter-group-name
redis32-cluster-on
\ --parameter-name-values "ParameterName=reserved-memory-percent, ParameterValue=25
"
Per specificare la memoria reserved-memory
Per utilizzare reserved-memory
come parametro di gestione della memoria prenotata, modifica un gruppo di parametri personalizzato utilizzando il comando modify-cache-parameter-group
. Utilizzo del parametro parameter-name-values
per specificare reserved-memory
e un valore per esso.
L'CLIesempio seguente modifica il gruppo di parametri personalizzati redis32-m3xl
in modo che venga utilizzato reserved-memory
per gestire la memoria riservata. Affinché il gruppo di parametri utilizzi il parametro ParameterName
per la gestione della memoria prenotata, occorre assegnare un valore a ParameterValue
. Poiché la versione del motore è più recente di 2.8.22, impostiamo il valore su 3565158400
che è 25 percento di una maxmemory
di cache.m3.xlarge
. Per ulteriori informazioni, consulta Modifica di un gruppo di ElastiCache parametri.
aws elasticache modify-cache-parameter-group \ --cache-parameter-group-name
redis32-m3xl
\ --parameter-name-values "ParameterName=reserved-memory, ParameterValue=3565158400
"