Saltar al contenido

¿Cómo soluciono una disminución en la métrica CacheHitRate en mi clúster de Redis de ElastiCache?

3 minutos de lectura
0

Quiero solucionar la disminución que estoy experimentando en la métrica CacheHitRate de mi clúster de Redis de Amazon ElastiCache.

Resolución

Cuando CacheHitRate disminuye, normalmente aumenta el número de errores de caché. Para obtener más información, consulte Supervisión de la eficiencia de la memoria caché. Para solucionar un problema de disminución de CacheHitRate, lleve a cabo las siguientes acciones.

Comprobar si el motor de Redis ha expulsado las claves

Se puede producir una disminución de CacheHitRate durante una expulsión cuando el motor de Redis expulsa las claves para administrar la memoria.

Para comprobar si el motor de Redis ha expulsado las claves, revise las siguientes métricas de Amazon CloudWatch:

  • Expulsiones
  • BytesUsedForCache
  • DatabaseMemoryUsagePercentage

Para resolver este problema, escale su clúster.

Revisar la configuración de vencimiento de la clave

Si las claves vencen demasiado rápido, es posible que vea un aumento en la métrica Reclaimed. Para ver la métrica Reclaimed, ejecute el comando INFO y, a continuación, revise el resultado para ver el número de eventos de vencimiento. Esta métrica muestra el número total de claves que Redis ha eliminado porque su tiempo de vida útil (TTL) ha vencido. Para obtener más información, consulte INFO en el sitio web de Redis.

Para resolver este problema, actualice la configuración de TTL de las claves. Para obtener más información, consulte TTL en el sitio web de Redis.

Revisar las actualizaciones del cliente para ver si hay claves eliminadas

Si la aplicación intenta recuperar las claves eliminadas por una actualización del cliente, es posible que vea los siguientes cambios:

  • Un aumento de CacheMisses
  • Una disminución de CacheHitRate

Para determinar si la actualización del cliente ha eliminado las claves, revise la aplicación para ver si hay actualizaciones de comandos como FLUSHALL, DEL o UNLINK. Para obtener más información, consulte FLUSHALL, DEL y UNLINK en el sitio web de Redis.

Para reducir la eliminación de claves, se recomienda utilizar el control de acceso basado en roles (RBAC). O bien, utilice el parámetro rename-commands para cambiar el nombre y anotar los comandos que pueden provocar problemas importantes, como la eliminación de claves. Para obtener más información sobre el parámetro rename-commands, consulte ElastiCache versión 5.0.6 para Redis OSS (mejorada).

Comprobar si ElastiCache ha recuperado el clúster

Cuando un clúster experimenta problemas de hardware, ElasticCache recupera el clúster y elimina todos los datos de las cachés. Como la memoria caché está vacía, las solicitudes de datos de la memoria caché provocan errores en la memoria caché.

Para comprobar si ElastiCache ha recuperado un clúster, consulte la sección Eventos de ElastiCache para ver la métrica CacheHitRate

Para mejorar la disponibilidad de los datos y la tolerancia a errores, agregue una réplica de lectura al clúster y active Multi-AZ con la opción de conmutación por error automática.

Seguir las prácticas recomendadas de almacenamiento en caché

Si las métricas CacheHits y CacheMisses están en 0, entonces no hay ninguna solicitud para la caché. En este caso, CloudWatch no muestra ningún dato para la métrica CacheHitRate.

Se recomienda tener una tasa de aciertos de la caché de 0.8 o superior. Si Redis desaloja demasiadas claves de la caché, las claves han vencido o no existen, la tasa de aciertos de la caché es inferior. Para mejorar el rendimiento de la caché, siga las prácticas recomendadas de almacenamiento en caché.

Información relacionada

Métricas para Valkey y Redis OSS

OFICIAL DE AWSActualizada hace un año