Amazon MQ per RabbitMQ: allarme ad alta memoria - Amazon MQ

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Amazon MQ per RabbitMQ: allarme ad alta memoria

Amazon MQ for RabbitMQ genererà un allarme di memoria elevata quando l'utilizzo della memoria da parte del broker, identificato da una CloudWatch metricaRabbitMQMemUsed, supera il limite di memoria, identificato da. RabbitMQMemLimit

Un broker RabbitMQ che ha generato un allarme di memoria elevata bloccherà tutti i client che pubblicano messaggi. Il broker potrebbe avviare un ciclo di riavvio, riscontrare una sincronizzazione della coda sospesa o sviluppare altri problemi che complicano la diagnosi e la risoluzione dell'allarme.

Per diagnosticare e risolvere un allarme con memoria elevata, segui innanzitutto tutte le migliori pratiche per RabbitMQ, quindi completa i passaggi seguenti.

Importante
  • RabbitMQMemLimitè impostato da Amazon MQ ed è ottimizzato specificamente considerando la memoria disponibile per ogni tipo di istanza host.

  • Amazon MQ non riavvierà un broker con un allarme di memoria elevata e restituirà un'eccezione per Operazioni API RebootBroker purché il broker continui a sollevare l'allarme.

Fase 1: Diagnostica di un allarme con memoria elevata

Esistono due modi per diagnosticare allarmi con elevata memoria sul tuo broker Amazon MQ for RabbitMQ. Ti consigliamo di controllare sia la console web di RabbitMQ che le metriche di Amazon MQ. CloudWatch

Diagnostica un allarme con memoria elevata utilizzando la console web di RabbitMQ

La console web RabbitMQ è in grado di generare e visualizzare informazioni dettagliate sull'utilizzo della memoria per ciascun nodo. Puoi trovare queste informazioni eseguendo le seguenti operazioni:

  1. Accedi AWS Management Console e apri la console web RabbitMQ del tuo broker.

  2. Sulla console RabbitMQ, alla pagina Panoramica, scegliere il nome di un nodo dall'elenco Nodi.

  3. Nella pagina dei dettagli del nodo, selezionare Dettagli della memoria per espandere la sezione per visualizzare le informazioni sull'utilizzo della memoria del nodo.

Le informazioni sull'utilizzo della memoria fornite da RabbitMQ nella console Web possono aiutarti a determinare quali risorse potrebbero consumare troppa memoria e contribuire all'allarme di memoria elevata. Per ulteriori informazioni sui dettagli sull'utilizzo della memoria disponibili tramite la console web di RabbitMQ, consulta Reasoning About Memory Use sul sito Web RabbitMQ Server Documentation.

Diagnostica allarmi con memoria elevata utilizzando i parametri di Amazon MQ

Amazon MQ abilita i parametri per il tuo broker per impostazione predefinita. Puoi visualizzare i parametri del broker accedendo alla CloudWatch console o utilizzando l'API. CloudWatch I seguenti parametri sono utili quando si diagnostica l'allarme di memoria elevata RabbitMQ.

CloudWatch Metrica Amazon MQ Motivo dell'uso elevato di memoria
MessageCount I messaggi vengono memorizzati in memoria fino a quando non vengono consumati o eliminati. Un elevato numero di messaggi potrebbe indicare un uso eccessivo delle risorse e può causare un allarme di memoria elevata.
QueueCount Le code sono memorizzate nella memoria e un numero elevato di code può causare un allarme di memoria elevata.
ConnectionCount Le connessioni client utilizzano la memoria e troppe connessioni simultanee possono causare un allarme di memoria elevata.
ChannelCount Analogamente alle connessioni, anche i canali stabiliti con ciascuna connessione vengono memorizzati nella memoria dei nodi e un numero elevato di canali può causare un allarme di memoria elevata.
ConsumerCount Per ogni consumatore connesso al broker, un determinato numero di messaggi viene caricato dallo storage in memoria prima che vengano recapitati al consumatore. Un gran numero di connessioni degli utenti potrebbe causare un elevato utilizzo della memoria e un allarme di memoria elevato.
PublishRate La pubblicazione di messaggi utilizza la memoria del broker. Se la velocità con cui i messaggi vengono pubblicati al broker è troppo alta e supera significativamente la velocità con cui il broker invia messaggi ai consumatori, il broker potrebbe causare un allarme di memoria elevata.

Fase 2: Risolve e previene l'allarme di memoria esaurita

Nota

Potrebbero essere necessarie fino a diverse ore prima che lo stato RABBITMQ_MEMORY_ALARM venga cancellato dopo aver eseguito le azioni richieste.

Segui tutte le migliori pratiche per RabbitMQ come metodo generale di prevenzione. Per ogni collaboratore specifico identificato, consigliamo la seguente serie di azioni per risolvere e prevenire gli allarmi di memoria elevata di RabbitMQ.

Fonte di elevato utilizzo della memoria Raccomandazione di Amazon MQ per l'indirizzamento Raccomandazione di Amazon MQ per la prevenzione
Numero di messaggi Consuma i messaggi pubblicati nelle code, elimina i messaggi dalle code o elimina le code dal tuo broker. Abilita le code lente e imposta o riduci il limite di profondità della coda.
Numero di code Ridurre il numero di code. Imposta o riduci il limite di numero di code.
Numero di connessioni Riduci il numero di connessioni. Imposta o riduci il limite del numero di connessioni.
Numero di canali Ridurre il numero di canali. Imposta un numero massimo di canali per connessione sulle applicazioni client.
Numero di consumatori Ridurre il numero di consumatori collegati al broker. Impostare un piccolo limite di pre-recupero consumatore.
Velocità di pubblicazione dei messaggi Ridurre la velocità con cui i messaggi vengono pubblicati al broker. Attiva le conferme dell'editore.
Frequenza dei tentativi di connessione del client Ridurre la frequenza con cui i client tentano di connettersi al broker per pubblicare o consumare messaggi o configurare il broker. Usa connessioni di durata maggiore per ridurre il numero e la frequenza dei tentativi di connessione.

Una volta risolto l'allarme relativo alla memoria del broker, puoi aggiornare il tipo di istanza host a un'istanza con risorse aggiuntive. Per informazioni su come aggiornare il tipo di istanza del broker, consulta UpdateBrokerInputAmazon MQ REST API Reference.

Nota

Non puoi effettuare il downgrade di un broker da un tipo di mq.m5.x istanza a un tipo di mq.t3.micro istanza. Per effettuare il downgrade, devi eliminare il broker e crearne uno nuovo.