Saltar al contenido

¿Cómo soluciono los problemas de uso excesivo de la CPU en mi tarea de Amazon ECS después de reemplazar mis instancias de contenedor?

4 minutos de lectura
0

He sustituido las instancias de contenedor por volúmenes cifrados en Amazon Elastic Container Service (Amazon ECS). Ahora mi tarea tiene un uso elevado de la CPU.

Solución

Nota: Si experimentas un uso elevado de la CPU en AWS Fargate, consulta ¿Cómo soluciono los problemas de uso elevado de la CPU en una tarea de Amazon ECS en Fargate?

Consulta de los registros de eventos del servicio Amazon ECS

Consulte los registros de eventos y las métricas del servicio Amazon ECS para ver los mensajes relacionados con la CPU.

Consulta del uso de la CPU para la instancia de contenedor

Sigue estos pasos:

  1. Abre la consola de Amazon ECS.
  2. En el panel de navegación, selecciona Clústeres y, a continuación, selecciona tu clúster.
  3. Selecciona la pestaña Infraestructura.
  4. Introduce el ID de instancia de Amazon Elastic Compute Cloud (Amazon EC2) en la barra de búsqueda y, a continuación, selecciona la instancia.
    Nota: Esta acción abre la consola de Amazon EC2.
  5. Selecciona la pestaña Supervisión y, a continuación, comprueba en la tarjeta de uso de la CPU (%) las métricas de uso de la CPU de la instancia de contenedor.

Consulta del uso de la CPU para el servicio Amazon ECS

Usa la consola de Amazon ECS para comprobar las métricas del servicio y el uso de CPU medio y máximo de Amazon ECS.

Nota: Para ver las métricas de CPU de las tareas de Amazon ECS, debes activar Información de contenedores en tu clúster de Amazon ECS existente. Para más información sobre las métricas disponibles, consulta Métricas de Información de contenedor de Amazon ECS.

Consulta de las métricas del equilibrador de carga

Comprueba las métricas de las solicitudes del equilibrador de carga para determinar si el uso elevado de la CPU se produce cuando hay un aumento en el tráfico de usuarios entrantes. En el caso de un equilibrador de carga de red, selecciona el espacio de nombres NetworkELB en Métricas y, a continuación, elige Por LB para ver las métricas de ActiveFlowCount y NewFlowCount. Si usas un equilibrador de carga de aplicación, comprueba la métrica ActiveConnectionCount.

Comprobación de la sobrecarga de cifrado

Si activas el cifrado para los volúmenes de Amazon Elastic Block Store (Amazon EBS), el proceso de cifrado y descifrado puede provocar un uso elevado de la CPU.

Para comprobar si el uso elevado de la CPU se debe a una sobrecarga de cifrado, compara las métricas de la CPU y de la aplicación antes y después del cambio de cifrado en el volumen de EBS.

Asegúrate de que las tareas de Amazon ECS tengan la asignación de recursos correcta.

Comprueba los registros de aplicaciones para ver si tus tareas realizan operaciones con un uso intensivo de la CPU. Para enviar los registros de aplicaciones a CloudWatch, consulta Ejemplo de definición de tarea de Amazon ECS: enrutamiento de los registros a CloudWatch.

Asegúrate de asignar los recursos de CPU y memoria correctos a las tareas de Amazon ECS. Si el uso de la CPU es alto de forma constante, escala horizontalmente las tareas del servicio Amazon ECS.

Si el escalamiento horizontal no resuelve el problema, aumenta las unidades de CPU asignadas en la definición de la tarea para escalar verticalmente las tareas del servicio Amazon ECS.

Optimización del código de la aplicación

Para analizar y depurar aplicaciones distribuidas, usa herramientas como AWS X-Ray. Realiza el seguimiento de la ruta de la solicitud a medida que recorre los servicios, funciones y recursos de la aplicación. Para más información, consulta Instrumentación de la aplicación para AWS X-Ray.

OFICIAL DE AWSActualizada hace 2 años