Was wird im lokalen Amazon Aurora MySQL-Compatible-Speicher gespeichert und wie kann ich Probleme mit dem lokalen Speicher beheben?

Lesedauer: 4 Minute
0

Was speichert Amazon Aurora MySQL-Compatible im lokalen Speicher und wie kann ich Probleme mit der Speicherkapazität beheben?

Kurzbeschreibung

Instances in Aurora-Clustern verfügen über zwei Arten von Speicher:

  • Speicher für persistente Daten (Cluster-Volume). Dieser Speichertyp erhöht sich automatisch, wenn mehr Speicherplatz benötigt wird. Weitere Informationen finden Sie unter What the cluster volume contains.
  • Lokaler Speicher für jede Aurora-Instance im Cluster, basierend auf der Instance-Klasse. Dieser Speichertyp und die Speichergröße sind an die Instance-Klasse gebunden und können nur durch einen Wechsel zu einer größeren DB-Instance-Klasse geändert werden. Aurora for MySQL verwendet den lokalen Speicher zum Speichern von Fehlerprotokollen, allgemeinen Protokollen, langsamen Abfrageprotokollen, Prüfprotokollen und temporären Tabellen, die nicht zu InnoDB gehören.

Weitere Informationen zur Größe des lokalen Speichers und zur maximal verfügbaren Speichermenge für die einzelnen Instance-Größen finden Sie unter Temporary storage limits for Aurora MySQL.

Behebung

Fehler aufgrund von wenig freier Speicherkapazität

Wenn Sie sich dem Limit für freie Speicherkapazität nähern, wird möglicherweise die folgende Fehlermeldung angezeigt:

„The free storage capacity for DB Instance: instance-name is low at x% of the provisioned storage [Provisioned Storage: xx GB, Free Storage: xx GB]. You may want to increase the provisioned storage to address this issue."

Die Kapazität des lokalen Speichers kann erreicht werden, wenn Sie nicht persistente Daten wie temporäre Tabellen- und Protokolldateien im lokalen Speicher speichern. Prüfen Sie, ob Befehle vom Typ ALTER TABLE ausgeführt werden oder ob Sie übermäßig viele temporäre Tabellen speichern. Durch Optimierung von Befehlen vom Typ ALTER, sowie von temporären Tabellen können Sie die Auslastung des lokalen Speichers verringern. Führen Sie einen Befehl wie den folgenden mehrmals aus, um die Anzahl temporärer Tabellen in Ihrer Instance zu sehen:

SHOW GLOBAL STATUS LIKE 'created_tmp%tables';

Sie können GoSH aktivieren, um die Anzahl temporärer Tabellen zu überwachen, die in einem bestimmten Zeitraum erstellt werden. Dadurch können Sie die Serverstatusvariablen in Tabellen speichern, die Sie später zur weiteren Analyse überprüfen können.

Überprüfen Sie die Amazon-CloudWatch-Metrik für FreeableMemory, um zu ermitteln, wie viel freier Speicher verfügbar ist. Prüfen Sie dann, ob Ihr Speicherplatz durch Audit-Protokolle, allgemeine Protokolle oder langsame Abfrageprotokolle beansprucht wird. Sie können den lokalen Speicherplatz überwachen, der der Aurora-Instance zugeordnet ist, indem Sie die CloudWatch-Metrik für FreeLocalStorage verwenden. Weitere Informationen finden Sie unter Monitoring metrics in an Amazon Aurora cluster.

Falls Sie mehr Speicherplatz benötigen, können Sie die Größe Ihres lokalen Speichers erhöhen. Um Ihren lokalen Speicher zu erhöhen, müssen Sie Ihre DB-Instance-Klasse erhöhen. Weitere Informationen finden Sie unter Aurora DB instance classes.

Sie können auch die Werte für die Parameter max_heap_table_size und tmp_table_size erhöhen. Durch das Ändern dieser Parameter kann die Menge der Daten, die auf die Festplatte übertragen werden, verringert werden, wodurch die Menge des verwendeten lokalen Speichers verringert werden kann. Sie können diese Parameter in der Parametergruppe ändern, die an Ihre Instance angehängt ist. Weitere Informationen finden Sie unter Working with parameter groups.

**Hinweis:**Wenn Sie die Werte für max_heap_table_size und tmp_table_size erhöhen, beanspruchen die Tabellen mehr Speicher in der Instance. Achten Sie beim Erhöhen dieser Werte darauf, dass in der Instance genügend Speicher zur Verfügung steht. Den verfügbaren Speicher können Sie mithilfe der CloudWatch-Metrik für FreeableMemory überwachen.

ERROR 1114 table full

Beim Ausführen von Vorgängen wie ALTER TABLE erstellt MySQL eine temporäre Zwischentabelle mit dem neuen Schema. Anschließend lädt MySQL Daten in die Zwischentabelle, bevor die alte Tabelle gelöscht wird. Die Zwischentabelle verwendet möglicherweise den lokalen Speicher. Wenn die Zwischentabelle mehr Speicherplatz benötigt als verfügbar ist, erhalten Sie möglicherweise die folgende Fehlermeldung:

„ERROR 1114 (HY000): The table 'table-name' is full"

Erhöhen Sie zur Behebung dieses Fehlers den lokalen Speicher, indem Sie die Instance vorübergehend hochskalieren. Nach Abschluss des Vorgangs ALTER TABLE können Sie die Instance-Klasse wieder herunterskalieren. Um Ihren lokalen Speicher zu erhöhen, müssen Sie Ihre Aurora-Instance-Klasse erhöhen. Weitere Informationen finden Sie unter Aurora DB instance classes.


Verwandte Informationen

How do I view storage used for my Amazon Aurora MySQL DB cluster?

Temporäre Speicherlimits für Aurora MySQL

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 2 Jahren