Cosa viene archiviato nella memoria locale compatibile con Aurora MySQL e come faccio a risolvere i problemi di archiviazione locale?

4 minuti di lettura
0

Cosa archivia la versione compatibile con Amazon Aurora MySQL nella memoria locale e come faccio a risolvere i problemi di archiviazione?

Breve descrizione

Le istanze nei cluster Aurora dispongono di due tipi di archiviazione:

  • Archiviazione per dati persistenti (chiamata volume del cluster). Questo tipo di archiviazione aumenta automaticamente quando è richiesto più spazio. Per ulteriori informazioni, vedi Cosa contiene il volume del cluster.
  • Archiviazione locale per ogni istanza Aurora nel cluster, in base alla classe di istanza. Questo tipo e questa dimensione di archiviazione sono associati alla classe di istanza e possono essere modificati solo passando a una classe di istanza database più grande. Aurora per MySQL utilizza l'archiviazione locale per archiviare registri degli errori, registri generali, registri di query lenti, registri di controllo e tabelle temporanee non InnoDB.

Per ulteriori informazioni sulla dimensione dell'archiviazione locale e per visualizzare la quantità massima di archiviazione disponibile per ogni dimensione dell'istanza, consulta Limiti di archiviazione temporanei per Aurora MySQL.

Risoluzione

Errore relativo a una bassa capacità di archiviazione libera

Quando ti avvicini al limite per la capacità di archiviazione gratuita, potresti visualizzare il seguente errore:

"La capacità di archiviazione gratuita per DB Instance: instance-name è bassa, pari a x% dell'archiviazione fornita [Provisioned Storage: xx GB, Free Storage: xx GB]. Potresti voler aumentare lo spazio di archiviazione fornito per risolvere questo problema".

L'archiviazione locale può raggiungere la capacità quando si archiviano dati non persistenti, come tabelle temporanee e file di log, nell'archivio locale. Controlla se hai i comandi ALTER TABLE in esecuzione o se stai archiviando tabelle temporanee eccessive. Ottimizzando i comandi ALTER e le tabelle temporanee, puoi ridurre l'utilizzo della memoria locale. Esegui un comando come questo più volte per vedere il numero di tabelle temporanee sulla tua istanza:

SHOW GLOBAL STATUS LIKE 'created_tmp%tables';

Per monitorare il numero di tabelle temporanee create in un intervallo di tempo specifico, puoi abilitare GoSH. Ciò consente di memorizzare le variabili di stato del server in tabelle che è possibile esaminare in seguito per ulteriori analisi.

Esamina la metrica Amazon CloudWatch per FreeableMemory per determinare la quantità di memoria libera disponibile. Quindi, controlla se i log di controllo, i log generali o i log di query lenti stanno consumando il tuo spazio. Puoi monitorare lo spazio di archiviazione locale associato all'istanza Aurora utilizzando la metrica CloudWatch per FreeLocalStorage. Per ulteriori informazioni, consulta Metriche di monitoraggio in un cluster Amazon Aurora.

Se hai bisogno di più spazio di archiviazione, puoi aumentare la quantità di spazio di archiviazione locale. Per aumentare lo spazio di archiviazione locale, è necessario aumentare la classe dell'istanza database. Per ulteriori informazioni, vedi Classi di istanze database Aurora.

È inoltre possibile aumentare i valori per i parametri max_heap_table_size e tmp_table_size. La modifica di questi parametri può ridurre la quantità di dati che vengono riversati sul disco, con conseguente riduzione della quantità di memoria locale utilizzata. Puoi modificare questi parametri nel gruppo di parametri associato alla tua istanza. Per ulteriori informazioni, vedi Utilizzo dei gruppi di parametri.

Nota: se aumenti i valori per max_heap_table_size e tmp_table_size, le tabelle consumano più memoria sull'istanza. Se aumenti questi valori, assicuratevi che ci sia abbastanza memoria disponibile sull'istanza. Puoi monitorare la memoria disponibile utilizzando la metrica CloudWatch per FreeableMemory.

ERROR 1114 table full

Quando MySQL esegue operazioni, come ALTER TABLE, crea una tabella temporanea intermedia con il nuovo schema. MySQL carica quindi i dati nella tabella intermedia prima di eliminare la vecchia tabella. La tabella intermedia potrebbe utilizzare l'archiviazione locale. Se la tabella intermedia richiede più spazio di archiviazione di quello disponibile, potresti visualizzare il seguente errore:

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

Per risolvere questo errore, aumenta la memoria locale ridimensionando temporaneamente l'istanza. Una volta completata l'operazione ALTER TABLE, è possibile ridimensionare la classe di istanza. Per aumentare lo spazio di archiviazione locale, è necessario aumentare la classe di istanza Aurora. Per ulteriori informazioni, vedi Classi di istanze database Aurora.


Informazioni correlate

Come faccio a visualizzare la memoria utilizzata per il mio cluster di database Amazon Aurora MySQL?

Limiti di archiviazione temporanei per Aurora MySQL

AWS UFFICIALE
AWS UFFICIALEAggiornata 2 anni fa