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 per RabbitMQ genera un allarme di memoria elevata quando l'utilizzo della memoria del broker, identificato dalla CloudWatch metrica, supera il limite di memoriaRabbitMQMemUsed, identificato da. RabbitMQMemLimit
Un broker RabbitMQ che ha generato un allarme di memoria elevata bloccherà tutti i client che pubblicano messaggi. Il broker potrebbe entrare in un ciclo di riavvio, riscontrare una sincronizzazione della coda in pausa o sviluppare altri problemi che complicano la diagnosi e la risoluzione dell'allarme.
Per diagnosticare e risolvere un allarme di memoria elevata, segui prima tutte le best practice 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. Per ulteriori informazioni, consulta Allarmi relativi alla memoria e al disco. -
Amazon MQ non riavvierà un broker con un allarme di memoria elevata e restituirà un'eccezione per Operazioni API
RebootBrokerpurché il broker continui a sollevare l'allarme.
Fase 1: Diagnostica un allarme di memoria elevata
Esistono due modi per diagnosticare gli allarmi di memoria elevata sul tuo broker Amazon MQ per RabbitMQ. Ti consigliamo di controllare sia la console web RabbitMQ che le metriche di Amazon MQ in. CloudWatch
Diagnostica un allarme di memoria elevata utilizzando la console web 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:
-
Accedi Console di gestione AWS e apri la console web RabbitMQ del tuo broker.
-
Sulla console RabbitMQ, alla pagina Panoramica, scegliere il nome di un nodo dall'elenco Nodi.
-
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
Diagnostica un allarme di memoria elevata utilizzando le metriche di Amazon MQ
Amazon MQ abilita i parametri per il tuo broker per impostazione predefinita. Puoi visualizzare le metriche del tuo broker accedendo alla CloudWatch console o utilizzando l' CloudWatch API. I seguenti parametri sono utili quando si diagnostica l'allarme di memoria elevata RabbitMQ.
| Metrica Amazon MQ CloudWatch | 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: Risolvi e previeni l'allarme di memoria elevata
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 contributore specifico che identifichi, consigliamo la seguente serie di azioni per risolvere e prevenire gli allarmi di memoria elevata di RabbitMQ.
| Fonte di utilizzo elevato della memoria | Raccomandazione Amazon MQ per l'indirizzamento | Raccomandazione 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 pigre e imposta o riduci il limite di profondità della coda. Applicazione delle politiche ad Amazon MQ for RabbitMQ |
| Numero di code | Ridurre il numero di code. | Imposta o riduci il limite del numero di code. Limiti di risorse predefiniti |
| 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. |
| Tasso di pubblicazione dei messaggi | Ridurre la velocità con cui i messaggi vengono pubblicati al broker. | Attiva le conferme dell'editore. |
| Percentuale di 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 UpdateBrokerInput Amazon 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 tuo broker e crearne uno nuovo.