View a markdown version of this page

Alta utilización de la CPU - Amazon DocumentDB

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Alta utilización de la CPU

El uso elevado de la CPU es uno de los problemas que puede encontrar en algún momento al trabajar con Amazon DocumentDB. Esta sección proporciona información para resolver el problema.

Identificación: localice el problema

El uso elevado de la CPU en las instancias de Amazon DocumentDB provoca lentitud en las aplicaciones al aumentar las latencias en todas las operaciones de la base de datos. Cuando el uso de la CPU de Amazon DocumentDB supera los niveles óptimos, los tiempos de ejecución de las consultas aumentan, el establecimiento de la conexión tarda más y la capacidad de respuesta de las aplicaciones disminuye. Los picos de CPU en la instancia principal ralentizan las operaciones de escritura, mientras que los picos en las réplicas aumentan la latencia de las operaciones de lectura.

Algunas de las causas más comunes del uso elevado de la CPU en Amazon DocumentDB podrían ser:

  • Escaneos de colecciones: las consultas sin los índices adecuados obligan a realizar escaneos de colecciones completos y consumen una cantidad excesiva de CPU para examinar todos los documentos.

  • Picos de conexión: los picos repentinos de conexiones de las aplicaciones agotan los recursos de la CPU necesarios para la autenticación y la administración de las sesiones.

  • Agregaciones complejas: las Multi-stage operaciones (ordenar, agrupar, unir) consumen una cantidad significativa de CPU, especialmente en conjuntos de datos grandes sin índices optimizados.

  • Consultas ineficientes: el uso elevado de la CPU se debe al escaneo de grandes conjuntos de resultados y operaciones con expresiones regulares.

  • Write-Heavy Cargas de trabajo: las actualizaciones frecuentes y las inserciones masivas agotan la CPU con el procesamiento de documentos, las actualizaciones de índices y el registro de transacciones.

Investigue: recopile métricas

Amazon DocumentDB proporciona supervisión a través de Amazon. CloudWatch Las métricas de Amazon DocumentDB se pueden clasificar en términos generales en métricas a nivel de clúster y a nivel de instancia. Para obtener información sobre los recursos relacionados con la CPU, la memoria y las conexiones, consulte las métricas a nivel de instancia, ya que el consumo de recursos es específico de la instancia. Identifica las instancias (principales o réplicas) que muestran los picos de CPU y anota los momentos en que se producen los picos.

La CloudWatch métrica del uso de la CPU paraCPUUtilization.

Diagnosticar: encontrar la causa raíz

Tras identificar la instancia y el momento en que se produjo el pico de CPU, lo siguiente es diagnosticar la causa que está afectando en gran medida al uso de la CPU. Como hay varios motivos que pueden provocar un pico de CPU, identifiquemos qué es lo que contribuye a ello, empezando por:

Conexiones: compruebe CloudWatch las métricas DatabaseConnections yDatabaseConnectionsMax, si hay picos en las conexiones y coinciden con el tiempo de inactividad de la CPU, es probable que el aumento de las conexiones durante un período breve sea la causa del pico de la CPU.

Consultas: si no es la conexión, la causa podría ser una consulta. Si has activado Performance Insights, ve a la consola de Performance Insights de la instancia y consulta las consultas de la instancia. La otra cosa a la que hay que prestar atención a las consultas es la del generador de perfiles.

Resolver: solucione el problema

Ráfagas de conexión: si las ráfagas de conexión son la causa de los picos de CPU, considere la posibilidad de reutilizar las conexiones en su aplicación o implementar la agrupación de conexiones. Para obtener más información sobre cómo optimizar las conexiones altas, consulte. Problemas de conexión con Amazon DocumentDB

Distribución de consultas: si los picos de CPU se deben a consultas de lectura en la instancia principal, considere la posibilidad de redirigir las operaciones de lectura a las instancias de réplica si los resultados de la consulta finalmente pueden ser coherentes.

Optimizaciones de consultas: si una consulta o un conjunto de consultas provocan un aumento de la CPU, considera la posibilidad de optimizar la consulta, por ejemplo, añadiendo un índice si la consulta no lo utiliza. Para obtener más información sobre cómo optimizar una consulta, consulteLa consulta se ejecuta lentamente.

Escalado de instancias: si el uso de la CPU sigue siendo alto y constante después de los esfuerzos de optimización, actualice a una clase de instancia más grande con más capacidad de CPU para gestionar sus requisitos de carga de trabajo de forma eficaz.

Sin servidor: en el caso de cargas de trabajo impredecibles que provoquen picos de CPU de corta duración, considere la posibilidad de utilizarla. Uso de Amazon DocumentDB sin servidor Las instancias sin servidor escalan automáticamente los recursos en función de la demanda, lo que elimina la necesidad de aprovisionar tamaños de instancia fijos para dichas cargas de trabajo.