Pourquoi l'échange se produit-il dans ElastiCache ?

Dernière mise à jour : 19/07/2022

Je constate une augmentation de l'activité d'échange dans mes instances Amazon ElastiCache. Comment puis-je résoudre ce problème ?

Brève description

ElastiCache fonctionne sur le système d'exploitation (OS) Linux. Le comportement d'échange est contrôlé par le système d'exploitation et influencé par des facteurs tels que la version du système d'exploitation ou les modèles d'activité. Il est normal que les instances subissent des fluctuations dans l'utilisation des échanges.

Les problèmes d'échange se produisent dans le cas où la mémoire vive (RAM) disponible est insuffisante lorsque le système déplace des pages entre le disque et la RAM.

Le système d'exploitation Linux relocalise de manière proactive les pages de mémoire dans l'espace d'échange pour deux raisons principales :

  • Un nœud ElastiCache est sous pression de mémoire
  • Linux échange la mémoire rarement utilisée vers le disque

Solution

Un nœud ElastiCache est sous pression de mémoire

Si votre nœud de cache utilise plus de mémoire que ce dont l'instance dispose, Linux échange les données de la mémoire vers le disque pour libérer de l'espace mémoire à utiliser. Une métrique CloudWatch FreeableMemory égale à zéro ou une métrique SwapUsage supérieure à la métrique FreeableMemory indique un nœud qui est sous pression de mémoire.

Comme Redis et Memcached se trouvent tous deux dans des caches en mémoire, l'échange ralentit votre application.

Si vous constatez qu'un nœud échange en raison de la pression de mémoire, augmentez le type de nœud de cache à un niveau supérieur. Sinon, définissez un paramètre de mémoire réservée pour Redis ou un paramètre de surcharge de connexion pour Memcached.

Linux échange la mémoire rarement utilisée vers le disque

L'échange peut être utilisé lorsqu'un nœud ElastiCache n'est pas sous pression de mémoire, car le système d'exploitation Linux déplace de manière proactive les pages de mémoire qui ne sont pas fréquemment utilisées vers l'échange afin d'augmenter l'efficacité de la mémoire. Cette utilisation est un comportement normal du noyau et n'implique pas de lecture et d'écriture actives sur l'échange.

Une bonne pratique consiste à examiner la métrique SwapUsage pour vérifier que la quantité d'échange utilisée ne dépasse pas 300 Mo.


Cet article vous a-t-il été utile ?


Avez-vous besoin d'aide pour une question technique ou de facturation ?