¿Por qué se produce el intercambio en ElastiCache?

2 minutos de lectura
0

¿Veo un aumento en la actividad de intercambio en mis instancias de Amazon ElastiCache? ¿Cómo se soluciona esto?

Descripción corta

ElastiCache se ejecuta en el sistema operativo (SO) Linux. El comportamiento de intercambio está controlado por el SO y está influenciado por factores como la versión del SO o los patrones de actividad. Se espera que las instancias experimenten fluctuaciones en el uso de intercambio.

Los problemas de intercambio se producen cuando no hay suficiente memoria de acceso aleatorio (RAM) disponible cuando el sistema mueve páginas entre el disco y la RAM.

El SO Linux reubica de forma proactiva las páginas de memoria para intercambiar por dos razones principales:

  • Un nodo de ElastiCache está bajo presión de memoria
  • Linux intercambia la memoria a la que se accede con poca frecuencia al disco

Resolución

Un nodo de ElastiCache está bajo presión de memoria

Si el nodo de caché usa más memoria de la que tiene disponible la instancia, Linux intercambia los datos de la memoria al disco para liberar espacio de memoria para su uso. Una métrica de CloudWatch de FreeableMemory igual a cero o una métrica de SwapUsage que sea mayor que la métrica de FreeableMemory indica un nodo que está bajo presión de memoria.

Debido a que tanto Redis como Memcached están en cachés de memoria, el intercambio ralentiza la aplicación.

Si observa que un nodo se está intercambiando debido a la presión de memoria, escale verticalmente a un tipo de nodo de caché más grande. De lo contrario, defina un parámetro de memoria reservada para Redis o un parámetro de sobrecarga de conexión para Memcached.

Linux intercambia la memoria a la que se accede con poca frecuencia al disco

El intercambio se puede utilizar cuando un nodo de ElastiCache no está bajo presión de memoria ya que el SO Linux mueve de forma proactiva las páginas de memoria que no se utilizan con frecuencia para intercambiar para aumentar la eficiencia de la memoria. Este uso es un comportamiento normal del núcleo y no implica lectura ni escritura activas para intercambiar.

Se recomienda revisar la métrica SwapUsage para verificar que la cantidad de intercambio utilizada no supere los 300 MB.


Información relacionada

¿Qué métricas debo supervisar? (Redis)

¿Qué métricas debo supervisar? (Memcached)

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 2 años