Configura l'autovacuum adattivo

Select a documentation version:

Questa pagina fornisce una panoramica dell'autovacuum adattivo di AlloyDB Omni e descrive come configurarlo.

La pulizia è un'importante operazione di manutenzione del database PostgreSQL. Viene utilizzata per recuperare lo spazio di archiviazione occupato da righe aggiornate o eliminate per evitare l'aumento delle dimensioni della tabella o dell'indice. Viene utilizzata anche per bloccare gli ID transazione per evitare il wraparound degli ID transazione e per aggiornare le statistiche della tabella.

Per ulteriori informazioni sulla pulizia, consulta Pulizia di routine.

Per automatizzare il processo di pulizia e aggiornare collettivamente le statistiche della tabella, AlloyDB Omni supporta l'autovacuum adattivo. L'autovacuum adattivo consente di regolare automaticamente il carico di lavoro di pulizia quando il carico di lavoro cambia, rimuove le tuple non attive e aggiorna le statistiche della tabella.

L'autovacuum garantisce prestazioni transazionali dell'applicazione affidabili e coerenti e mantiene l'alta disponibilità del sistema impedendo il wraparound degli ID transazione.

Per impostazione predefinita, AlloyDB Omni abilita l'autovacuum adattivo. Puoi disattivare o modificare l'autovacuum adattivo su AlloyDB Omni utilizzando i flag di database.

Vantaggi

L'autovacuum adattivo offre i seguenti vantaggi:

  • Regolazione automatica delle risorse. AlloyDB Omni regola automaticamente le risorse come CPU, I/O, numero di processi di pulizia e memoria per il processo di pulizia in base allo stato in tempo reale del carico di lavoro e alle risorse disponibili senza influire sulle prestazioni del sistema.

  • Prevenzione del wraparound degli ID transazione. AlloyDB Omni monitora l'avanzamento della pulizia e la velocità di consumo degli ID transazione. Se necessario, AlloyDB Omni limita il consumo degli ID transazione eseguendo la pulizia di ogni tabella nel database, impedendo il wraparound degli ID transazione.

  • Pulizia periodica delle tabelle. AlloyDB Omni attiva l'autovacuum in base al numero di tuple non attive e alle pagine da analizzare. Rimuove le tuple non attive in modo tempestivo per evitare l'aumento delle dimensioni della tabella o dell'indice.

  • Rilevamento automatico dei blocchi. AlloyDB Omni rileva automaticamente i blocchi, come le transazioni a lunga esecuzione, le transazioni preparate orfane e gli slot di replica orfani, e mostra messaggi di avviso simili ai seguenti nel log postgres:

    Found a backend process PROCESS_ID with a long running transaction whose transaction
    id age AGE is larger than or equal to the transaction age threshold AGE_THRESHOLD.
    

Configurare l'autovacuum adattivo

Per impostazione predefinita, l'autovacuum adattivo è abilitato su AlloyDB Omni. Puoi disattivare l'autovacuum adattivo impostando il flag di database enable_google_adaptive_autovacuum di un'istanza su off.

AlloyDB Omni supporta diversi flag di database PostgreSQL standard relativi alla pulizia e all'autovacuum, ad esempio vacuum_cost_delay e autovacuum_vacuum_cost_delay. Non è necessario impostare valori in nessuno di questi flag per il funzionamento dell'autovacuum adattivo, perché questo adatta e ottimizza il suo comportamento in base ai carichi di lavoro reali. Se imposti valori in questi flag, l'autovacuum adattivo regola il suo comportamento in modo da tenere conto delle tue preferenze.

Per visualizzare l'elenco completo dei flag di database PostgreSQL supportati relativi alla pulizia e all'autovacuum, consulta Flag di pulizia e Flag di autovacuum.