Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Amazon MQ für RabbitMQ: Alarm über hohe Speicherauslastung
Amazon MQ for RabbitMQ löst einen hohen Speicheralarm aus, wenn die durch die CloudWatch Metrik identifizierte Speichernutzung des Brokers das Speicherlimit überschreitetRabbitMQMemUsed
, das durch identifiziert wurde. RabbitMQMemLimit
Ein RabbitMQ-Broker, der einen hohen Speicheralarm ausgelöst hat, blockiert alle Clients, die Nachrichten veröffentlichen. Es kann sein, dass Ihr Broker in eine Neustartschleife gerät, die Warteschlangensynchronisierung unterbrochen wird oder es treten andere Probleme auf, die die Diagnose und Lösung des Alarms erschweren.
Um einen Alarm bei hohem Speicherbedarf zu diagnostizieren und zu beheben, befolgen Sie zunächst alle bewährten Methoden für RabbitMQ und führen Sie dann die folgenden Schritte aus.
Wichtig
-
RabbitMQMemLimit
wird von Amazon MQ festgelegt und speziell unter Berücksichtigung des für jeden Host-Instance-Typ verfügbaren Speichers optimiert. -
Amazon MQ startet einen Broker nicht neu, der einen Alarm über hohe Speicherauslastung hat, und gibt eine Ausnahme für
RebootBroker
-API-Operationen zurück, solange der Broker weiterhin den Alarm auslöst.
Schritt 1: Diagnose eines Alarms bei hohem Speicherbedarf
Es gibt zwei Möglichkeiten, Alarme mit hohem Speicherbedarf auf Ihrem Amazon MQ for RabbitMQ Broker zu diagnostizieren. Wir empfehlen Ihnen, sowohl die RabbitMQ-Webkonsole als auch die Amazon MQ-Metriken zu überprüfen. CloudWatch
Diagnostizieren Sie mithilfe der RabbitMQ-Webkonsole einen Alarm bei hohem Speicherbedarf
Die RabbitMQ-Webkonsole kann detaillierte Informationen zur Speicherauslastung für jeden Knoten generieren und anzeigen. Sie finden diese Informationen durch das folgende Verfahren:
-
Melden Sie sich bei der AWS Management Console RabbitMQ-Webkonsole Ihres Brokers an und öffnen Sie sie.
-
Auf der RabbitMQ-Konsole wählen Sie auf der Seite Übersicht den Namen eines Knotens aus der Knoten-Liste aus.
-
Wählen Sie auf der Detailseite des Knotens die Option Details zum Speicher, um den Abschnitt zu erweitern und die Informationen zur Speicherauslastung des Knotens anzuzeigen.
Die Informationen zur Speicherauslastung, die RabbitMQ in der Webkonsole bereitstellt, können Ihnen helfen, festzustellen, welche Ressourcen möglicherweise zu viel Speicher verbrauchen und zum Alarm über hohe Speicherauslastung beitragen. Weitere Informationen zur Speichernutzung, die über die RabbitMQ-Webkonsole verfügbar sind, findest du unter Überlegungen zur Speichernutzung auf der RabbitMQ Server-Dokumentationswebsite
Diagnostizieren Sie einen Alarm bei hohem Speicherbedarf mithilfe von Amazon MQ-Metriken
Amazon MQ aktiviert standardmäßig Metriken für Ihren Broker. Sie können Ihre Broker-Metriken einsehen, indem Sie auf die CloudWatch Konsole zugreifen oder die CloudWatch API verwenden. Die folgenden Metriken sind beim Diagnostizieren des RabbitMQ-Alarms über hohe Speicherauslastung nützlich.
Amazon MQ-Metrik CloudWatch | Grund für eine hohe Speicherauslastung |
---|---|
MessageCount |
Nachrichten werden im Speicher gespeichert, bis sie verbraucht oder verworfen werden. Eine hohe Nachrichtenanzahl kann auf eine Überauslastung der Ressourcen hinweisen und zu einem Alarm über hohe Speicherauslastung führen. |
QueueCount |
Warteschlangen werden im Speicher gespeichert, und eine hohe Anzahl von Warteschlangen kann zu einem Alarm über hohe Speicherauslastung führen. |
ConnectionCount |
Clientverbindungen nutzen Speicher, und zu viele gleichzeitige Verbindungen können zu einem Alarm über hohe Speicherauslastung führen. |
ChannelCount |
Ähnlich wie bei Verbindungen werden Kanäle, die mit jeder Verbindung hergestellt werden, auch im Knotenspeicher gespeichert, und eine hohe Anzahl von Kanälen kann zu einem Alarm über hohe Speicherauslastung führen. |
ConsumerCount |
Für jeden Verbraucher, der mit dem Broker verbunden ist, wird eine bestimmte Anzahl von Nachrichten aus dem Speicher in den Arbeitsspeicher geladen, bevor sie an den Verbraucher übermittelt werden. Eine große Anzahl von Verbraucherverbindungen kann zu einer hohen Speicherauslastung führen und zu einem hohen Alarm über hohe Speicherauslastung führen. |
PublishRate |
Beim Veröffentlichen von Nachrichten wird der Arbeitsspeicher des Brokers genutzt. Wenn die Rate, mit der Nachrichten an den Broker veröffentlicht werden, zu hoch ist und die Rate, mit der der Broker Nachrichten an Verbraucher übermittelt, erheblich übersteigt, kann der Broker Alarm über hohe Speicherauslastung auslösen. |
Schritt 2: Alarme bei hohem Speicherbedarf beheben und verhindern
Anmerkung
Nachdem Sie die erforderlichen Maßnahmen ergriffen haben, kann mehrere Stunden dauern, bis der Status RABBITMQ_MEMORY_ALARM gelöscht wird.
Befolge alle bewährten Methoden für RabbitMQ als allgemeine Präventionsmethode. Für jeden einzelnen Mitwirkenden, den Sie identifizieren, empfehlen wir die folgenden Maßnahmen, um RabbitMQ-Alarme mit hohem Speicherbedarf zu beheben und zu verhindern.
Quelle für hohen Speicherverbrauch | Amazon MQ MQ-Empfehlung für die Adressierung | Amazon MQ MQ-Empfehlung zur Vorbeugung |
---|---|---|
Anzahl der Nachrichten | Verbrauchen Sie die in den Warteschlangen veröffentlichten Nachrichten, löschen Sie Nachrichten aus den Warteschlangen oder löschen Sie die Warteschlangen aus Ihrem Broker. | Aktivieren Sie verzögerte Warteschlangen und legen Sie die Begrenzung der Warteschlangentiefe fest oder reduzieren Sie sie. |
Anzahl der Warteschlangen | Reduzieren Sie die Anzahl der Warteschlangen. | Legen Sie das Limit für die Anzahl der Warteschlangen fest oder reduzieren Sie es. |
Anzahl der Verbindungen | Reduzieren Sie die Anzahl der Verbindungen. | Legen Sie das Limit für die Anzahl der Verbindungen fest oder reduzieren Sie es. |
Anzahl der Kanäle | Reduzieren Sie die Anzahl der Kanäle. | Legen Sie eine maximale Anzahl von Kanälen pro Verbindung für Clientanwendungen fest. |
Anzahl der Konsumenten | Reduzieren Sie die Gesamtzahl der Verbraucher, die mit dem Broker verbunden sind. | Legen Sie einen geringen Vorabrufgrenzwert für Verbraucher fest. |
Rate der Veröffentlichung von Nachrichten | Reduzieren Sie die Rate, mit der Nachrichten an den Broker veröffentlicht werden. | Schalten Sie Publisher Confirms ein. |
Rate der Versuche, eine Verbindung zum Client herzustellen | Reduzieren Sie die Häufigkeit, mit der Clients versuchen, sich mit dem Broker zu verbinden, um Nachrichten zu veröffentlichen oder zu konsumieren, oder konfigurieren Sie den Broker. | Verwenden Sie langlebigere Verbindungen, um die Anzahl und Häufigkeit von Verbindungsversuchen zu reduzieren. |
Nachdem der Speicheralarm Ihres Brokers behoben wurde, können Sie Ihren Host-Instance-Typ auf eine Instance mit zusätzlichen Ressourcen aktualisieren. Informationen zur Aktualisierung des Instance-Typs Ihres Brokers finden Sie UpdateBrokerInput
in der Amazon MQ REST API-Referenz.
Anmerkung
Sie können einen Broker nicht von einem Instance-Typ auf einen mq.m5.x
Instance-Typ herabstufen. mq.t3.micro
Um ein Downgrade durchzuführen, müssen Sie Ihren Broker löschen und einen neuen erstellen.