Monitoreo de DAX
Puede monitorizar las métricas clave, por ejemplo, la tasa de aciertos de caché, para garantizar un rendimiento óptimo del clúster de DAX, diagnosticar problemas y determinar cuándo es necesario escalar el clúster. La comprobación periódica de las métricas clave le ayuda a mantener el rendimiento, la estabilidad y la rentabilidad al escalar el clúster para que se adapte a los requisitos de su carga de trabajo. Para obtener más información sobre la monitorización de DAX, consulte Monitoreo de la producción.
La siguiente lista incluye algunas de las métricas clave que debe monitorizar:
-
Tasa de aciertos de caché: muestra la eficacia con la que DAX sirve los datos en caché, lo que reduce la necesidad de acceder a las tablas subyacentes de DynamoDB. Si hay pocos errores de caché en el clúster, eso indica que hay una buena eficiencia de almacenamiento en caché. Sin embargo, si hay pocos aciertos de caché, eso sugiere que es posible que deba revisitar la configuración de TTL de almacenamiento en caché o que la carga de trabajo no sea adecuada para el almacenamiento en caché.
Utilice Amazon CloudWatch para calcular la tasa de aciertos de caché del clúster de DAX. Compare las métricas
ItemCacheHits
,ItemCacheMisses
,QueryCacheHits
yQueryCacheMisses
para obtener esta tasa. La siguiente fórmula muestra cómo se calcula la tasa de aciertos de caché. Para calcular la tasa con esta fórmula, divida los aciertos de caché por la suma de los aciertos y errores de caché.Cache hit ratio = Cache hits / (Cache hits + Cache misses)
La tasa de aciertos de caché es un número entre 0 y 1, que se representa como un porcentaje. Un porcentaje más alto indica una mejor utilización general de la caché.
-
ErrorRequestCount: número de solicitudes que dieron lugar a errores de usuario notificados por el nodo o el clúster.
ErrorRequestCount
incluye las solicitudes sometidas a una limitación por el nodo o el clúster. La monitorización los errores de los usuarios puede ayudarle a identificar errores de escalado, configuraciones erróneas o patrones de elementos o particiones “calientes” en su aplicación. -
Latencias de operaciones: monitorizar la latencia de las operaciones de lectura y escritura hacia el clúster de DAX y desde él puede ayudarle a identificar los cuellos de botella en el rendimiento. El aumento de las latencias puede indicar problemas con la configuración del clúster de DAX, la red o la necesidad de escalarlo.
-
Consumo de red: controle las métricas
NetworkBytesIn
yNetworkBytesOut
para monitorizar el tráfico de red del clúster de DAX. Un aumento inesperado en el rendimiento de la red podría implicar más solicitudes de clientes o patrones de consulta ineficientes que provocarían la transferencia de más datos.La monitorización del consumo de la red le ayuda a administrar los costos de su clúster de DAX. También garantiza que la red no se convierta en un cuello de botella para el rendimiento del clúster.
-
Tasa de expulsiones: muestra la frecuencia con la que se eliminan elementos de la caché para dejar espacio para otros nuevos. Si la tasa de expulsiones aumenta con el tiempo, es posible que la caché sea demasiado pequeña o que la estrategia de almacenamiento en caché no sea eficaz.
Monitorice la métrica
EvictedSize
en CloudWatch para determinar si el tamaño de la caché es adecuado para su carga de trabajo. Si el tamaño total expulsado sigue aumentando, es posible que necesite escalar verticalmente el clúster de DAX para alojar una caché más grande. -
Utilización de CPU: se refiere al porcentaje de utilización de CPU del nodo o el clúster. Esta métrica es fundamental para monitorizar cualquier base de datos o sistema de almacenamiento en caché. Un uso elevado de la CPU puede provocar que el clúster de DAX se sobrecargue y necesite escalarse para hacer frente al aumento de la demanda.
Monitorice la métrica
CPUUtilization
para el clúster de DAX. Si el uso de la CPU se acerca o supera constantemente el 70 o el 80 %, considere la posibilidad de escalar verticalmente el clúster de DAX tal y como se describe en la siguiente sección.Si el número de solicitudes que se envían a DAX supera la capacidad de un nodo, DAX limita la velocidad a la que acepta solicitudes adicionales. Para ello, devuelve una ThrottlingException. DAX evalúa continuamente la utilización de la CPU de su clúster para determinar el volumen de solicitudes que puede procesar manteniendo el clúster en buen estado.
Puede monitorizar la métrica
ThrottledRequestCount
que DAX publica en Amazon CloudWatch. Si ve estas excepciones periódicamente, debería plantearse escalar el clúster.
Escalado del clúster de DAX mediante datos de monitorización
Puede determinar si necesita escalar verticalmente o reducir verticalmente el clúster de DAX monitorizando sus métricas de rendimiento.
-
Escalado o reducción vertical: si el clúster de DAX tiene un uso elevado de CPU, pocos aciertos de caché (tras optimizar la estrategia de almacenamiento en caché) o altas latencias de las operaciones, debe escalar verticalmente el clúster. Agregar más nodos, lo que también se denomina escalar horizontalmente, puede ayudarle a distribuir la carga de manera más uniforme. Para cargas de trabajo con escrituras por segundo cada vez más altas, es posible que tenga que elegir nodos más potentes (escalado vertical).
-
Reducción vertical: si observa que el uso de la CPU y las latencias de operación están por debajo de sus umbrales de manera constante, es posible que haya aprovisionado recursos en exceso. En esos casos, reduzca verticalmente los nodos para reducir los costos. Puede reducir la cantidad de nodos a 1 durante los periodos de baja utilización, pero no puede cerrar el clúster por completo.