Beheben von Speicherproblemen bei Aurora-MySQL-Datenbanken - Amazon Aurora

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.

Beheben von Speicherproblemen bei Aurora-MySQL-Datenbanken

Mithilfe des Parameters der Instance-Ebene Aurora MySQL aurora_oom_response kann die DB-Instance den Arbeitsspeicher des Systems überwachen und den von verschiedenen Anweisungen und Verbindungen verbrauchten Arbeitsspeicher schätzen. Wenn der Arbeitsspeicher des Systems knapp wird, können eine Reihe von Aktionen durchgeführt werden, um zu versuchen, Arbeitsspeicher freizugeben. Das System führt diese Aktionen aus, um einen Neustart der Datenbank aufgrund von Speicherproblemen (Out-Of-Memory, OOM) zu vermeiden. Der Parameter der Instance-Ebene gibt eine Zeichenfolge mit durch Kommata getrennten Aktionen an, die eine DB-Instance durchführt, wenn nur wenig Arbeitsspeicher zur Verfügung steht. Der Parameter aurora_oom_response wird für die Aurora-MySQL-Versionen 2 und 3 unterstützt.

Die folgenden Werte und deren Kombinationen können für den Parameter aurora_oom_response verwendet werden. Eine leere Zeichenfolge bedeutet, dass keine Aktion ausgeführt wird und die Funktion effektiv deaktiviert wird, wodurch die Datenbank anfällig für OOM-Neustarts wird.

  • decline – Lehnt neue Abfragen ab, wenn der DB-Instance wenig Speicherplatz zur Verfügung steht

  • kill_connect – Schließt Datenbankverbindungen, die viel Speicher verbrauchen, und beendet aktuelle Transaktionen und Anweisungen für die Datendefinitionssprache (Data Definition Language, DDL). Diese Antwort wird nicht für Aurora-MySQL-Version 2 unterstützt.

    Weitere Informationen finden Sie unter KILL-Anweisung in der MySQL-Dokumentation.

  • kill_query – Beendet die Abfragen in absteigender Reihenfolge des Speicherverbrauchs, bis der Instance-Speicher oberhalb des unteren Schwellenwerts liegt. DDL-Anweisungen werden nicht beendet.

    Weitere Informationen finden Sie unter KILL-Anweisung in der MySQL-Dokumentation.

  • print – Druckt nur die Abfragen mit hohem Speicherbedarf

  • tune – Stellt die Caches der internen Tabellen so ein, dass etwas Arbeitsspeicher für das System freigegeben wird. Aurora MySQL verringert den Speicher, der für Caches wie table_open_cache und table_definition_cache bei geringem Speicherbedarf verwendet wird. Schließlich setzt Aurora MySQL ihre Speichernutzung wieder auf den Normalwert zurück, wenn das System nicht mehr zu wenig Arbeitsspeicher hat.

    Weitere Informationen finden Sie unter table_open_cache und table_definition_cache in der MySQL-Dokumentation.

  • tune_buffer_pool – Verringert die Größe des Pufferpools, um Arbeitsspeicher freizugeben und ihn dem Datenbankserver zur Verarbeitung von Verbindungen zur Verfügung zu stellen. Diese Antwort wird für Aurora-MySQL-Version 3.06 und höher unterstützt.

    Sie müssen tune_buffer_pool entweder mit kill_query oder kill_connect im Parameterwert aurora_oom_response kombinieren. Andernfalls erfolgt die Größenanpassung des Pufferpools nicht, selbst wenn Sie tune_buffer_pool in den Parameterwert mit einbeziehen.

Für Aurora-MySQL-Versionen unter 3.06 werden bei DB-Instance-Klassen mit maximal 4 GiB Arbeitsspeicher, wenn die Instance unter Arbeitsspeicherdruck steht, standardmäßig die Aktionen print, tune, decline und kill_query ausgeführt. Für DB-Instance-Klassen mit mehr als 4 GiB Arbeitsspeicher ist standardmäßig kein Parameterwert angegeben (deaktiviert).

In Aurora-MySQL-Version 3.06 und höher schließt Aurora MySQL für DB-Instance-Klassen mit einem Arbeitsspeicher von weniger als oder gleich 4 GiB auch die Verbindungen mit dem höchsten Speicherverbrauch (kill_connect). Für DB-Instance-Klassen mit mehr als 4 GiB Arbeitsspeicher ist der Standardwert des Parameters print.

In Aurora-MySQL-Version 3.09 und höher ist für DB-Instance-Klassen mit mehr als 4 GiB Arbeitsspeicher der Standardwert des Parameters print,decline,kill_connect.

Wenn Sie häufig auf Speicherprobleme stoßen, kann die Speichernutzung mithilfe von Speicherübersichtstabellen überwacht werden, sofern performance_schema aktiviert ist.

Informationen zu Amazon-CloudWatch-Metriken im Zusammenhang mit OOM finden Sie unter Metriken auf Instance-Ebene für Amazon Aurora. Informationen zu globalen Statusvariablen im Zusammenhang mit OOM finden Sie unter Globale Statusvariablen von Aurora MySQL.