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.
Amazon MQ para RabbitMQ: alarma de memoria alta
Amazon MQ para RabbitMQ emitirá una alarma de memoria alta cuando el uso de memoria del agente, identificado mediante una CloudWatch métrica, supere el límite de memoriaRabbitMQMemUsed
, identificado por. RabbitMQMemLimit
Un bróker de RabbitMQ que haya emitido una alarma de exceso de memoria bloqueará a todos los clientes que publiquen mensajes. Es posible que su agente entre en un ciclo de reinicio, experimente una pausa en la sincronización de las colas o presente otros problemas que compliquen el diagnóstico y la resolución de la alarma.
Para diagnosticar y resolver una alarma de memoria insuficiente, primero siga todas las prácticas recomendadas para RabbitMQ y, a continuación, complete los siguientes pasos.
importante
-
RabbitMQMemLimit
lo establece Amazon MQ y se ajusta específicamente teniendo en cuenta la memoria disponible para cada tipo de instancia de host. -
Amazon MQ no reiniciará un agente que experimente una alarma de memoria elevada, y devolverá una excepción para operaciones de la API
RebootBroker
mientras el agente continúe generando la alarma.
Paso 1: Diagnostique una alarma de memoria alta
Existen dos formas de diagnosticar las alarmas de memoria excesiva en su bróker Amazon MQ for RabbitMQ. Le recomendamos que consulte las métricas de la consola web de RabbitMQ y de Amazon MQ. CloudWatch
Diagnostique una alarma de memoria alta mediante la consola web RabbitMQ
La consola web de RabbitMQ puede generar y mostrar información detallada sobre el uso de memoria de cada nodo. Puede encontrar esta información haciendo lo siguiente:
-
Inicie sesión en la consola web RabbitMQ de su corredor AWS Management Console y ábrala.
-
En la consola de RabbitMQ, en la página Overview (Información general), elija el nombre de un nodo de la lista Nodes (Nodos).
-
En la página de detalles del nodo, elija Memory details (Detalles de memoria) para ampliar la sección y ver la información de uso de memoria del nodo.
La información de uso de memoria que proporciona RabbitMQ en la consola web puede ayudar a determinar qué recursos pueden estar consumiendo demasiada memoria y contribuyendo a provocar la alarma de memoria elevada. Para obtener más información sobre los detalles del uso de la memoria disponibles en la consola web de RabbitMQ, consulte Razonamiento sobre el uso de la memoria
Diagnostique una alarma de memoria alta mediante las métricas de Amazon MQ
Amazon MQ habilita las métricas para el agente de forma predeterminada. Puede ver las métricas de su agente accediendo a la CloudWatch consola o mediante la CloudWatch API. Las siguientes métricas son útiles para diagnosticar la alarma de memoria elevada de RabbitMQ.
Métrica Amazon MQ CloudWatch | Razón del uso elevado de memoria |
---|---|
MessageCount |
Los mensajes se almacenan en la memoria hasta que se consumen o descartan. Un recuento elevado de mensajes puede indicar una sobreutilización de los recursos, y puede provocar una alarma de memoria elevada. |
QueueCount |
Las colas se almacenan en la memoria, y un gran número de colas puede provocar una alarma de memoria elevada. |
ConnectionCount |
Las conexiones de cliente utilizan memoria, y demasiadas conexiones simultáneas pueden provocar una alarma de memoria elevada. |
ChannelCount |
De forma similar a las conexiones, los canales establecidos con cada conexión también se almacenan en la memoria del nodo, y un número elevado de canales puede provocar una alarma de memoria elevada. |
ConsumerCount |
Para cada consumidor conectado al agente, se cargan un número determinado de mensajes desde el almacenamiento en la memoria antes de entregarlos al consumidor. Un número elevado de conexiones de consumidores puede suponer un uso elevado de memoria y provocar una alarma de memoria elevada. |
PublishRate |
La publicación de mensajes utiliza la memoria del agente. Si la velocidad a la que se publican los mensajes con destino al agente es demasiado alta y supera significativamente la velocidad con la que el agente envía mensajes a los consumidores, es posible que el agente genere una alarma de memoria elevada. |
Paso 2: Abordar y prevenir la alarma de memoria alta
nota
El estado de RABBITMQ_MEMORY_ALARM puede tardar varias horas en borrarse después de realizar las acciones necesarias.
Siga todas las mejores prácticas de RabbitMQ como método general de prevención. Para cada colaborador específico que identifique, le recomendamos el siguiente conjunto de acciones para abordar y prevenir las alarmas de memoria excesiva de RabbitMQ.
Fuente de un uso elevado de memoria | Recomendación de Amazon MQ para el direccionamiento | Recomendación de Amazon MQ para prevenir |
---|---|---|
Número de mensajes | Consume los mensajes publicados en las colas, purga los mensajes de las colas o elimina las colas de tu agente. | Habilite las colas diferidas y establezca o reduzca el límite de profundidad de las colas. |
Número de colas | Reduzca el número de colas. | Establece o reduce el límite de número de colas. |
Número de conexiones | Reduzca el número de conexiones. | Establezca o reduzca el límite de recuento de conexiones. |
Número de canales | Reduzca la cantidad de canales. | Establezca un número máximo de canales por conexión en las aplicaciones cliente. |
Número de consumidores | Reduzca el número de consumidores conectados al agente. | Establezca un límite de captura previa de consumidores que sea pequeño. |
Tasa de publicación de mensajes | Reduzca la velocidad a la que los publicadores envían mensajes al agente. | Activa las confirmaciones del editor. |
Tasa de intentos de conexión del cliente | Reduzca la frecuencia con la que los clientes intentan conectarse al agente para publicar o consumir mensajes, o configurar el agente. | Utilice conexiones de mayor duración para reducir el número y la frecuencia de los intentos de conexión. |
Una vez resuelta la alarma de memoria de su agente, puede actualizar el tipo de instancia de host a una instancia con recursos adicionales. Para obtener información sobre cómo actualizar el tipo de instancia de su agente, consulte la referencia UpdateBrokerInput
de la API REST de Amazon MQ.
nota
No puede degradar un bróker de un tipo de mq.m5.x
instancia a otro tipo de mq.t3.micro
instancia. Para bajar de categoría, debes eliminar tu bróker y crear uno nuevo.