View a markdown version of this page

Risoluzione dei out-of-memory problemi relativi ai database Aurora MySQL - Amazon Aurora

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Risoluzione dei out-of-memory problemi relativi ai database Aurora MySQL

Il parametro a livello di istanza aurora_oom_response di Aurora MySQL può consentire all’istanza database di monitorare la memoria di sistema e stimare la memoria utilizzata da varie istruzioni e connessioni. Se il sistema esaurisce la memoria, può eseguire una serie di azioni per tentare di liberarla. Lo fa nel tentativo di evitare il riavvio del database a causa di problemi (OOM). out-of-memory Il parametro a livello di istanza acquisisce una stringa di azioni separate da virgola che un’istanza database esegue quando la memoria è insufficiente. Il parametro aurora_oom_response è supportato per Aurora MySQL versione 2 e 3.

Per il parametro aurora_oom_response è possibile utilizzare i seguenti valori e combinazioni di valori. Una stringa vuota indica che non viene intrapresa alcuna azione e di fatto disattiva la funzionalità, esponendo il database a riavvii OOM.

  • decline: rifiuta le nuove query quando l’istanza database ha poca memoria.

  • kill_connect: chiude le connessioni al database che consumano una grande quantità di memoria e termina le transazioni correnti e le istruzioni DDL (Data Definition Language). Questa risposta non è supportata per Aurora MySQL versione 2.

    Per ulteriori informazioni, consulta KILL statement nella documentazione di MySQL.

  • kill_query: termina le query in ordine discendente relativamente al consumo di memoria fino a che la memoria dell’istanza non supera la soglia minima. Le istruzioni DDL non vengono terminate.

    Per ulteriori informazioni, consulta KILL statement nella documentazione di MySQL.

  • print: stampa solo le query che consumano una grande quantità di memoria.

  • tune: ottimizza le cache delle tabelle interne per restituire un po’ di memoria al sistema. Aurora MySQL riduce la memoria utilizzata per le cache come table_open_cache e table_definition_cache in condizioni di memoria insufficiente. Eventualmente, Aurora MySQL riporta l’utilizzo della memoria alla normalità quando il sistema non è più in condizioni di memoria insufficiente.

    Per ulteriori informazioni, consulta table_open_cache e table_definition_cache nella documentazione di MySQL.

  • tune_buffer_pool: riduce la dimensione del pool di buffer per liberare parte della memoria e renderla disponibile al server del database per l’elaborazione delle connessioni. Questa risposta è supportata per Aurora MySQL versione 3.06 e successive.

    È necessario associare tune_buffer_pool con kill_query o kill_connect nel valore del parametro aurora_oom_response. In caso contrario, il ridimensionamento del pool di buffer non avverrà, anche se si include tune_buffer_pool nel valore del parametro.

Nelle versioni di Aurora MySQL precedenti alla 3.06, per le classi di istanze database con memoria inferiore o uguale a 4 GiB, quando l’istanza è sotto pressione di memoria, le azioni predefinite includono print, tune, decline e kill_query. Per le classi di istanze database con memoria superiore a 4 GiB, il valore del parametro è vuoto per impostazione predefinita (disabilitato).

In Aurora MySQL versione 3.06 e successive, per le classi di istanze database con memoria inferiore o uguale a 4 GiB, Aurora MySQL chiude anche le connessioni che consumano più memoria (kill_connect). Per le classi di istanze database con memoria superiore a 4 GiB, il valore del parametro predefinito è print.

In Aurora MySQL versione 3.09 e successive, per le classi di istanze database con memoria superiore a 4 GiB, il valore del parametro predefinito è print,decline,kill_connect.

Se si verificano spesso out-of-memory problemi, l'utilizzo della memoria può essere monitorato utilizzando tabelle di riepilogo della memoria quando questa opzione performance_schema è abilitata.

Per i CloudWatch parametri di Amazon relativi a OOM, consultaParametri a livello di istanza per Amazon Aurora. Per le variabili di stato globali relative a OOM, consulta Variabili di stato globali di Aurora MySQL.