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 Alarm bei hohem Speicherbedarf aus, wenn die anhand der CloudWatch Metrik identifizierte Speicherauslastung des Brokers das Speicherlimit überschreitetRabbitMQMemUsed, identifiziert durch. RabbitMQMemLimit
Ein RabbitMQ-Broker, der einen Alarm wegen zu hohem Speicherbedarf ausgelöst hat, blockiert alle Clients, die Nachrichten veröffentlichen. Ihr Broker tritt möglicherweise in eine Neustartschleife ein, es kommt zu einer unterbrochenen Warteschlangensynchronisierung oder es treten andere Probleme auf, die die Diagnose und Behebung des Alarms erschweren.
Um den 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
-
RabbitMQMemLimitwird von Amazon MQ festgelegt und speziell unter Berücksichtigung des für jeden Host-Instance-Typ verfügbaren Speichers optimiert. Weitere Informationen finden Sie unter Speicher- und Festplattenalarme. -
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: Alarm bei hohem Speicherbedarf diagnostizieren
Es gibt zwei Möglichkeiten, Alarme bei hohem Speicherbedarf auf Ihrem Amazon MQ for RabbitMQ-Broker zu diagnostizieren. Wir empfehlen, dass Sie sowohl die RabbitMQ-Webkonsole als auch die Amazon MQ-Metriken überprüfen. CloudWatch
Diagnostizieren Sie den Alarm bei hohem Speicherbedarf mithilfe der RabbitMQ-Webkonsole
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-Managementkonsole 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 zu den Details zur Speichernutzung, die über die RabbitMQ-Webkonsole verfügbar sind, finden Sie unter Überlegungen zur Speicherbelegung auf der RabbitMQ-Serverdokumentationswebsite.
Diagnostizieren Sie den 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: Behebung und Verhinderung des Alarms bei hohem Speicherbedarf
Anmerkung
Nachdem Sie die erforderlichen Maßnahmen ergriffen haben, kann mehrere Stunden dauern, bis der Status RABBITMQ_MEMORY_ALARM gelöscht wird.
Befolgen Sie alle bewährten Methoden für RabbitMQ als allgemeine Präventionsmethode. Für jeden bestimmten Mitwirkenden, den Sie identifizieren, empfehlen wir die folgenden Maßnahmen, um RabbitMQ-Alarme zu beheben und zu verhindern, dass der Speicher zu hoch ist.
| Quelle der hohen Speicherauslastung | Amazon MQ-Empfehlung zur Adressierung | Amazon MQ-Empfehlung zur Vorbeugung |
|---|---|---|
| Anzahl der Nachrichten | Verbrauchen Sie in den Warteschlangen veröffentlichte Nachrichten, löschen Sie Nachrichten aus Warteschlangen oder löschen Sie die Warteschlangen aus Ihrem Broker. | Aktivieren Sie Lazy-Queues und legen Sie die Grenze für die Warteschlangentiefe fest oder reduzieren Sie sie. Anwenden von Richtlinien auf Amazon MQ für RabbitMQ |
| 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 die Bestätigung durch den Herausgeber ein. |
| Häufigkeit der Verbindungsversuche durch den Client | 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 Instanztyp auf einen mq.m5.x Instanztyp herabstufen. mq.t3.micro Um ein Downgrade durchzuführen, müssen Sie Ihren Broker löschen und einen neuen erstellen.