Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Gestion de la mémoire réservée pour Valkey et Redis OSS
La mémoire réservée est mise de côté pour être utilisée à des fins autres que le traitement des données. Lors d'une sauvegarde ou d'un basculement, Valkey et Redis OSS utilisent la mémoire disponible pour enregistrer les opérations d'écriture sur votre cluster pendant que les données du cluster sont écrites dans le fichier .rdb. Si vous ne disposez pas de suffisamment de mémoire pour toutes les écritures, le processus échouera. Vous trouverez ci-dessous des informations sur les options de gestion de la mémoire réservée pour ElastiCache (RedisOSS) et sur la manière d'appliquer ces options.
Rubriques
De quelle quantité de mémoire réservée avez-vous besoin ?
Si vous utilisez une version de Redis OSS antérieure à la version 2.8.22, réservez plus de mémoire pour les sauvegardes et les basculements que si vous exécutez Redis OSS 2.8.22 ou version ultérieure. Cette exigence est due aux différentes manières dont ElastiCache (RedisOSS) met en œuvre le processus de sauvegarde. La règle générale est de réserver la moitié de la maxmemory
valeur d'un type de nœud pour la OSS surcharge de Redis pour les versions antérieures à 2.8.22, et un quart pour les versions Redis OSS 2.8.22 et ultérieures.
En raison des différentes manières de ElastiCache mettre en œuvre le processus de sauvegarde et de réplication, la règle générale consiste à réserver 25 % de la maxmemory
valeur d'un type de nœud en utilisant le reserved-memory-percent
paramètre. Il s'agit de la valeur par défaut recommandée dans la plupart des cas.
Lorsque les microinstances et les petites instances burstables fonctionnent à un niveau proche de leurs maxmemory
limites, il est possible qu'ils soient soumis à une utilisation du swap. Pour améliorer la fiabilité opérationnelle de ces types d'instances lors de la sauvegarde, de la réplication et d'un trafic élevé, nous recommandons d'augmenter la valeur du reserved-memory-percent
paramètre jusqu'à 30 % pour les types d'instances de petite taille et jusqu'à 50 % pour les types de micro-instances.
Pour les charges de travail intensives en écriture sur des ElastiCache clusters avec hiérarchisation des données, nous recommandons d'augmenter jusqu'reserved-memory-percent
à 50 % de la mémoire disponible du nœud.
Pour plus d’informations, consultez les ressources suivantes :
Paramètres de gestion de la mémoire réservée
Depuis le 16 mars 2017, Amazon ElastiCache fournit deux paramètres mutuellement exclusifs pour gérer votre OSS mémoire Valkey ou Redis, etreserved-memory
. reserved-memory-percent
Aucun de ces paramètres ne fait partie de la distribution Valkey ou RedisOSS.
Selon le moment où vous êtes devenu ElastiCache client, l'un ou l'autre de ces paramètres est le paramètre de gestion de la mémoire par défaut. Ce paramètre s'applique lorsque vous créez un nouveau OSS cluster Valkey ou Redis ou un nouveau groupe de réplication et que vous utilisez un groupe de paramètres par défaut.
-
Pour les clients ayant commencé avant le 16 mars 2017 : lorsque vous créez un OSS cluster Redis ou un groupe de réplication à l'aide du groupe de paramètres par défaut, votre paramètre de gestion de la mémoire est
reserved-memory
. Dans ce cas, zéro (0) octets de mémoire sont réservés. -
Pour les clients qui ont commencé le 16 mars 2017 ou après cette date : lorsque vous créez un OSS cluster Valkey ou Redis ou un groupe de réplication à l'aide du groupe de paramètres par défaut, votre paramètre de gestion de la mémoire est
reserved-memory-percent
Dans ce cas, 25 % de la valeurmaxmemory
de votre nœud est réservée à des fins non liées aux données.
Après avoir pris connaissance des deux paramètres de gestion de la OSS mémoire Valkey ou Redis, vous préférerez peut-être utiliser celui qui n'est pas votre paramètre par défaut ou avec des valeurs autres que celles par défaut. Dans ce cas, vous pouvez passer à l'autre paramètre de gestion de la mémoire réservée.
Pour modifier la valeur de ce paramètre, vous pouvez créer un groupe de paramètres personnalisé et le modifier pour utiliser le paramètre et la valeur de gestion de la mémoire préférés. Vous pouvez ensuite utiliser le groupe de paramètres personnalisé chaque fois que vous créez un nouveau OSS cluster Valkey ou Redis ou un nouveau groupe de réplication. Pour les clusters ou les groupes de réplication existants, vous pouvez les modifier afin d'utiliser votre groupe de paramètres personnalisés.
Pour plus d'informations, veuillez consulter les ressources suivantes :
Paramètre reserved-memory
Avant le 16 mars 2017, toute la gestion de la mémoire réservée ElastiCache (RedisOSS) était effectuée à l'aide de ce paramètrereserved-memory
. La valeur par défaut de reserved-memory
est 0. Cette valeur par défaut ne réserve aucune mémoire pour la OSS surcharge de Valkey ou Redis et permet à Valkey ou Redis de OSS consommer toute la mémoire d'un nœud en données.
Pour pouvoir modifier reserved-memory
afin de disposer d'une quantité de mémoire suffisante pour les sauvegardes et les basculements, vous devez créer un groupe de paramètres personnalisé. Dans ce groupe de paramètres personnalisés, vous définissez une valeur adaptée reserved-memory
à la OSS version Valkey ou Redis exécutée sur votre cluster et au type de nœud du cluster. Pour plus d’informations, consultez De quelle quantité de mémoire réservée avez-vous besoin ?.
Le paramètre reserved-memory
est spécifique à la OSS distribution générale de Redis ElastiCache et ne fait pas partie de celle-ci.
La procédure suivante montre comment reserved-memory
gérer la mémoire de votre cluster Valkey ou RedisOSS.
Pour réserver de la mémoire à l'aide de la mémoire réservée
-
Créez un groupe de paramètres personnalisé spécifiant la famille de groupe de paramètres correspondant à la version de moteur exécutée par exemple, la famille de groupe de paramètres
redis2.8
. Pour de plus amples informations, veuillez consulter Création d'un groupe ElastiCache de paramètres.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
-
Calculez le nombre d'octets de mémoire à réserver pour la surcharge de Valkey ou RedisOSS. Vous pouvez trouver la valeur de
maxmemory
du type de nœud dans Paramètres spécifiques au type de OSS nœud Redis. -
Modifiez le groupe de paramètres personnalisé de façon à ce que le paramètre
reserved-memory
corresponde au nombre d'octets calculé au cours de la première étape. L' AWS CLI exemple suivant suppose que vous utilisez une version de Redis OSS antérieure à la version 2.8.22 et que vous devez réserver la moitié de celle du nœud.maxmemory
Pour de plus amples informations, veuillez consulter Modification d'un groupe ElastiCache de paramètres.aws elasticache modify-cache-parameter-group \ --cache-parameter-group-name
redis28-m3xl
\ --parameter-name-values "ParameterName=reserved-memory, ParameterValue=7130316800
"Notez que vous avez besoin d'un groupe de paramètres personnalisé distinct pour chaque nœud utilisé dans la mesure où chaque type de nœud a une valeur
maxmemory
différente. Par conséquent, chaque type de nœud a besoin d'une valeur différente pourreserved-memory
. -
Modifiez votre OSS cluster Redis ou votre groupe de réplication pour utiliser votre groupe de paramètres personnalisé.
L'CLIexemple suivant modifie le cluster
my-redis-cluster
pour utiliser le groupe de paramètres personnalisés quiredis28-m3xl
commence immédiatement. Pour de plus amples informations, veuillez consulter Modification d'un ElastiCache cluster.aws elasticache modify-cache-cluster \ --cache-cluster-id
my-redis-cluster
\ --cache-parameter-group-nameredis28-m3xl
\ --apply-immediatelyL'CLIexemple suivant modifie le groupe de réplication
my-redis-repl-grp
pour utiliser le groupe de paramètres personnalisésredis28-m3xl
commençant immédiatement. Pour plus d’informations, consultez Modification d'un groupe de réplication.aws elasticache modify-replication-group \ --replication-group-id
my-redis-repl-grp
\ --cache-parameter-group-nameredis28-m3xl
\ --apply-immediately
Le reserved-memory-percent paramètre
Le 16 mars 2017, Amazon ElastiCache a introduit le paramètre reserved-memory-percent
et l'a rendu disponible sur toutes les versions de ElastiCache (RedisOSS). L'objectif de reserved-memory-percent
est de simplifier la gestion de la mémoire réservée sur tous vos clusters. Vous avez ainsi la possibilité d'avoir un seul groupe de paramètres pour chaque famille de groupe de paramètres (par exemple, redis2.8
) afin de gérer la mémoire réservée de votre cluster, quel que soit le type de nœud. La valeur par défaut de reserved-memory-percent
est 25 (25 %).
Le paramètre reserved-memory-percent
est spécifique à la OSS distribution générale de Redis ElastiCache et ne fait pas partie de celle-ci.
Si votre cluster utilise un type de nœud de la famille r6gd et que votre utilisation de la mémoire atteint 75 %, la hiérarchisation des données sera automatiquement déclenchée. Pour de plus amples informations, veuillez consulter Hiérarchisation des données ElastiCache.
Pour réserver de la mémoire en utilisant reserved-memory-percent
reserved-memory-percent
Pour gérer la mémoire de votre cluster ElastiCache (RedisOSS), effectuez l'une des opérations suivantes :
-
Si vous utilisez Redis OSS 2.8.22 ou version ultérieure, attribuez le groupe de paramètres par défaut à votre cluster. Les 25 % par défaut devraient convenir. Si tel n'est pas le cas, procédez comme suit pour modifier la valeur.
-
Si vous utilisez une version de Redis OSS antérieure à la version 2.8.22, vous devrez probablement réserver plus de mémoire que la valeur par défaut
reserved-memory-percent
de 25 %. Pour cela, procédez comme suit.
Pour modifier la valeur en pourcentage de reserved-memory-percent
-
Créez un groupe de paramètres personnalisé spécifiant la famille de groupe de paramètres correspondant à la version de moteur exécutée par exemple, la famille de groupe de paramètres
redis2.8
. Un groupe de paramètres personnalisé est nécessaire car vous ne pouvez pas modifier un groupe de paramètres par défaut. Pour de plus amples informations, veuillez consulter Création d'un groupe ElastiCache de paramètres.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
Dans la mesure où
reserved-memory-percent
réserve de la mémoire sous forme de pourcentage du paramètremaxmemory
d'un nœud, vous n'avez pas besoin d'un groupe de paramètres personnalisé pour chaque type de nœud. -
Modifiez le groupe de paramètres personnalisé afin que le paramètre
reserved-memory-percent
soit défini sur 50 (50 %). Pour de plus amples informations, veuillez consulter Modification d'un groupe ElastiCache de paramètres.aws elasticache modify-cache-parameter-group \ --cache-parameter-group-name
redis28-50
\ --parameter-name-values "ParameterName=reserved-memory-percent, ParameterValue=50
" -
Utilisez ce groupe de paramètres personnalisé pour tous les OSS clusters Redis ou groupes de réplication exécutant une version de Redis OSS antérieure à 2.8.22.
L'CLIexemple suivant modifie le OSS cluster Redis
my-redis-cluster
pour utiliser le groupe de paramètres personnalisésredis28-50
commençant immédiatement. Pour de plus amples informations, veuillez consulter Modification d'un ElastiCache cluster.aws elasticache modify-cache-cluster \ --cache-cluster-id
my-redis-cluster
\ --cache-parameter-group-nameredis28-50
\ --apply-immediatelyL'CLIexemple suivant modifie le groupe de OSS réplication Redis
my-redis-repl-grp
pour utiliser le groupe de paramètres personnalisésredis28-50
commençant immédiatement. Pour de plus amples informations, veuillez consulter Modification d'un groupe de réplication.aws elasticache modify-replication-group \ --replication-group-id
my-redis-repl-grp
\ --cache-parameter-group-nameredis28-50
\ --apply-immediately
Spécification de votre paramètre de gestion de la mémoire réservée
Si vous étiez un ElastiCache client actuel le 16 mars 2017, votre paramètre de gestion de mémoire réservée par défaut est reserved-memory
de zéro (0) octet de mémoire réservée. Si vous êtes devenu ElastiCache client après le 16 mars 2017, votre paramètre de gestion de la mémoire réservée par défaut est reserved-memory-percent
de réserver 25 % de la mémoire du nœud. Cela est vrai quelle que soit la date à laquelle vous avez créé votre cluster ElastiCache (RedisOSS) ou votre groupe de réplication. Toutefois, vous pouvez modifier le paramètre de gestion de la mémoire réservée à l'aide du AWS CLI ou ElastiCache API.
Les paramètres reserved-memory
et reserved-memory-percent
sont mutuellement exclusifs. Un groupe de paramètres est toujours associé à un paramètre, mais jamais aux deux. Vous pouvez modifier le paramètre utilisé par un groupe de paramètres pour la gestion de la mémoire réservée en modifiant le groupe de paramètres. Le groupe de paramètres doit être un groupe de paramètres personnalisé, car vous ne pouvez pas modifier les groupes de paramètres par défaut. Pour de plus amples informations, veuillez consulter Création d'un groupe ElastiCache de paramètres.
Pour spécifier reserved-memory-percent
Pour utiliser reserved-memory-percent
comme paramètre de gestion de la mémoire réservée, modifiez un groupe de paramètres personnalisés à l'aide de la commande modify-cache-parameter-group
. Utilisez le paramètre parameter-name-values
pour spécifier reserved-memory-percent
et une valeur pour cela.
L'CLIexemple suivant modifie le groupe de paramètres personnalisés redis32-cluster-on
afin qu'il soit utilisé reserved-memory-percent
pour gérer la mémoire réservée. Une valeur doit être affectée à ParameterValue
pour que le groupe de paramètres utilise le paramètre ParameterName
pour la gestion de la mémoire réservée. Pour de plus amples informations, veuillez consulter Modification d'un groupe ElastiCache de paramètres.
aws elasticache modify-cache-parameter-group \ --cache-parameter-group-name
redis32-cluster-on
\ --parameter-name-values "ParameterName=reserved-memory-percent, ParameterValue=25
"
Pour spécifier reserved-memory
Pour utiliser reserved-memory
comme paramètre de gestion de la mémoire réservée, modifiez un groupe de paramètres personnalisés à l'aide de la commande modify-cache-parameter-group
. Utilisez le paramètre parameter-name-values
pour spécifier reserved-memory
et une valeur pour cela.
L'CLIexemple suivant modifie le groupe de paramètres personnalisés redis32-m3xl
afin qu'il soit utilisé reserved-memory
pour gérer la mémoire réservée. Une valeur doit être affectée à ParameterValue
pour que le groupe de paramètres utilise le paramètre ParameterName
pour la gestion de la mémoire réservée. Comme la version du moteur est plus récente que la version 2.8.22, nous définissons la valeur sur 3565158400
, soit 25 % de maxmemory
du cache.m3.xlarge
. Pour de plus amples informations, veuillez consulter Modification d'un groupe ElastiCache de paramètres.
aws elasticache modify-cache-parameter-group \ --cache-parameter-group-name
redis32-m3xl
\ --parameter-name-values "ParameterName=reserved-memory, ParameterValue=3565158400
"