Global outage event
If you’re experiencing issues with your AWS services, then please refer to the AWS Health Dashboard. You can find the overall status of ongoing outages, the health of AWS services, and the latest updates from AWS engineers.
¿Cómo puedo solucionar problemas de uso elevado de la CPU en uno o más agentes de un clúster de Amazon MSK?
Quiero solucionar un problema de uso elevado de la CPU en uno o más agentes de mi clúster de Amazon Managed Streaming para Apache Kafka (Amazon MSK).
Resolución
El uso total de la CPU de un clúster de Amazon MSK es la suma de los siguientes valores:
- Porcentaje de CPU en el espacio de usuario definido por la métrica CpuUser
- Porcentaje de CPU en el espacio del kernel definido por CpuSystem
Se recomienda mantener el uso total de la CPU en menos del 60 % para que el 40 % de la CPU de tu clúster esté disponible. Apache Kafka puede redistribuir la carga de la CPU a través de los agentes en el clúster según sea necesario. Por ejemplo, cuando se produce un error de un agente, Amazon MSK puede usar la CPU disponible para realizar un mantenimiento automático, como parches.
Es posible que tu clúster de Amazon MSK tenga un uso elevado de la CPU por uno de los siguientes motivos:
- El tráfico de entrada o salida es elevado.
- Superas el número de particiones por agente y sobrecarga el clúster.
- Usas un tipo de instancia T.
El tráfico de entrada o salida es elevado
Puede supervisar el tráfico de entrada y salida del clúster usa las métricas de Amazon CloudWatch BytesInPerSec y BytesOutPerSec. Si las métricas de un agente tienen valores altos o están sesgadas, es posible que el agente experimente un uso elevado de la CPU.
Los agentes pueden experimentar un tráfico elevado cuando los temas de gran volumen tienen una distribución desigual de las particiones. O bien, el productor no distribuye los datos de manera uniforme en todas las particiones. Para resolver este problema, comprueba la clave de partición del productor y actualiza la configuración del clúster. A continuación, configure la clave de partición para que una partición no reciba más datos que el resto.
También es posible que experimentes un tráfico elevado cuando el grupo de consumidores confirma compensaciones con mucha frecuencia. El tráfico de las confirmaciones de compensación afecta al agente. Para resolver este problema, reduce la cantidad de grupos de consumidores o actualiza el tamaño de tu instancia.
La cantidad de particiones por agente supera el valor recomendado
Si la cantidad de particiones por agente supera el valor recomendado, el clúster está sobrecargado. Cuando el clúster se sobrecarga, no puedes realizar las siguientes acciones:
- Actualizar la configuración del clúster.
- Actualizar la versión de Apache Kafka para el clúster.
- Actualizar el clúster a un tipo de agente más pequeño.
- Asociar un secreto de AWS Secrets Manager con un clúster que tiene autenticación SASL/SCRAM.
Cuando tienes demasiadas particiones, es posible que tengas un uso elevado de la CPU y experimentes una degradación del rendimiento.
Para solucionar este problema, toma las siguientes medidas:
- Elimina los temas obsoletos o no utilizados para que el recuento de particiones se encuentre dentro del límite recomendado. Para identificar el tema no utilizado, activa supervisión a nivel de tema y comprueba las métricas BytesInPerSec y BytesOutPerSec a nivel de tema para ver si hay tráfico que fluya a través del tema. Si no fluye tráfico, puedes eliminar los temas no utilizados.
- Escala verticalmente el tipo de instancia del agente a un tipo que pueda acomodar la cantidad de particiones que necesitas. Además, agrega más agentes y reasigna particiones.
Nota: Debes ejecutar el comando kafka-reassign-partitions para reasignar particiones. Amazon MSK no reasigna automáticamente las particiones al agregar agentes.
Usas un tipo de instancia T
Los tipos de instancia T tienen un rendimiento básico con algunas características ampliables. Estas instancias permiten un rendimiento de referencia del 20 % de uso de la CPU. Si superas este valor, el tipo de instancia empezará a utilizar los créditos de la CPU. Cuando el uso es inferior al 20 %, acumulas créditos de CPU.
Asegúrate de supervisar la métrica del saldo de créditos de la CPU para las instancias ampliables en Amazon CloudWatch.
Supervisa el uso de la CPU de referencia y el saldo de créditos de cualquier clúster que se ejecute en tipos de instancias T. Si el uso de la CPU supera el valor de referencia y no quedan más créditos para gastar, el clúster tiene problemas de rendimiento.
Otras causas posibles
El número de conexiones al cliente es elevado
Un aumento en cualquiera de las siguientes métricas de Amazon CloudWatch podría provocar un aumento del uso de la CPU del agente:
- ConnectionCount
- ConnectionCreationRate
- ConnectionCloseRate
Para solucionar este problema, supervisa estas métricas en CloudWatch. A continuación, reduce el número de conexiones según sea necesario o escala verticalmente el tipo de agente.
Amazon MSK detecta un error de un agente y se recupera de él
Cuando Amazon MSK detecta un error del agente y realiza una operación de mantenimiento automática, como un parche, aumenta el uso de la CPU. Tan pronto como Amazon MSK complete la operación del clúster, el uso de la CPU se reduce a los niveles de uso normales.
Un usuario solicita un cambio de tipo de agente o una actualización de versión
Cuando un usuario solicita un cambio de tipo de agente o una actualización de versión, Amazon MSK despliega flujos de trabajo continuos que desconectan un agente cada vez. Cuando los agentes con particiones principales se desconectan, Apache Kafka reasigna el liderazgo de la partición para redistribuir el trabajo a otros agentes del clúster. Supervisa el uso de la CPU de estos agentes y asegúrate de tener suficiente espacio libre de CPU en tu clúster para tolerar los eventos operativos.
El uso de CPU de uno o más agentes es elevado debido a la distribución sesgada de los datos
El uso de CPU de uno o más agentes podría ser elevado debido a la distribución sesgada de los datos. Por ejemplo, si escribes a dos de cada seis agentes y esos agentes son los que más consumen, entonces verán un mayor uso de la CPU. Para solucionar este problema, asegúrate de utilizar la técnica de todos contra todos para que las particiones del clúster estén bien distribuidas.
Para ver cómo el controlador de clúster de Apache Kafka distribuye las particiones en el clúster, ejecuta el siguiente comando:
bin/kafka-topics.sh -bootstrap-server $MYBROKERS --describe --topic my-topic
Resultado de ejemplo:
Topic:my-topic PartitionCount:7 ReplicationFactor:3 Configs: Topic: my-topic Partition: 0 Leader: 1 Replicas: 1,3,2 Isr: 1,3,2 Topic: my-topic Partition: 1 Leader: 2 Replicas: 2,1,3 Isr: 2,1,3 Topic: my-topic Partition: 2 Leader: 3 Replicas: 3,2,1 Isr: 3,2,1 Topic: my-topic Partition: 3 Leader: 1 Replicas: 1,2,3 Isr: 1,2,3 Topic: my-topic Partition: 4 Leader: 2 Replicas: 2,3,1 Isr: 2,3,1 Topic: my-topic Partition: 5 Leader: 3 Replicas: 3,1,2 Isr: 3,1,2
Has activado la supervisión abierta
Si activas la supervisión abierta con Prometheus y el intervalo de extracción es bajo, es posible que se emita un gran número de métricas y, por lo tanto, que aumente el uso de la CPU. Para resolver este problema, aumenta el intervalo de extracción. Se recomienda no superar una extracción por minuto por agente para preservar el rendimiento del clúster de Amazon MSK. De forma predeterminada, el intervalo de extracción ocurre cada 10 a 15 segundos.
- Temas
- Analytics
- Idioma
- Español

Contenido relevante
- preguntada hace 8 meses
- preguntada hace 3 meses
- preguntada hace 10 meses
- preguntada hace 3 meses
OFICIAL DE AWSActualizada hace 5 meses