Migliore gestione della memoria in Aurora PostgreSQL - 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à.

Migliore gestione della memoria in Aurora PostgreSQL

Aurora PostgreSQL ora include funzionalità avanzate di gestione della memoria per ottimizzare le prestazioni e la resilienza del database con carichi di lavoro diversi. Questi miglioramenti aiutano Aurora PostgreSQL a mantenere disponibilità e reattività costanti, anche durante i periodi di elevata richiesta di memoria.

Questa funzionalità è disponibile e abilitata per impostazione predefinita nelle seguenti versioni di Aurora PostgreSQL per le istanze con provisioning:

  • 15.3 e tutte le versioni secondarie successive

  • 14.8 e versioni secondarie successive

  • 13.11 e versioni secondarie successive

  • 12.15 e versioni secondarie successive

  • 11.20 e versioni secondarie successive

Questa funzionalità è disponibile e abilitata per impostazione predefinita nel seguente programma Aurora PostgreSQL per Aurora Serverless istanze:

  • 16.3 e tutte le versioni secondarie successive

  • 15.7 e tutte le versioni secondarie successive

  • 14.12 e versioni secondarie successive

  • 13.15 e versioni secondarie successive

Quando i carichi di lavoro dei clienti utilizzano tutta la memoria libera disponibile, il sistema operativo può riavviare il database per proteggere le risorse, con conseguente indisponibilità temporanea. I nuovi miglioramenti alla gestione della memoria in Aurora PostgreSQL annullano in modo proattivo determinate transazioni quando il sistema subisce un'elevata pressione della memoria, contribuendo a mantenere la stabilità del database.

Le caratteristiche principali di una migliore gestione della memoria sono le seguenti:

  • Annullamento delle transazioni del database che richiedono più memoria quando il sistema sta raggiungendo un carico critico della memoria.

  • Si dice che il sistema sia sottoposto a un carico critico della memoria quando esaurisce tutta la memoria fisica e sta per esaurire lo spazio di scambio. In queste circostanze, qualsiasi transazione che richiede memoria verrà annullata nel tentativo di ridurre immediatamente il carico della memoria nell'istanza database.

  • Le utilità di avvio di PostgreSQL essenziali e i worker in background come i worker autovacuum sono sempre protetti.

Gestione dei parametri di gestione della memoria

Per attivare la gestione della memoria

Questa funzionalità è attivata per impostazione predefinita. Viene visualizzato un messaggio di errore, come quello illustrato nell'esempio seguente, quando una transazione viene annullata a causa di memoria insufficiente.

ERROR: out of memory Detail: Failed on request of size 16777216.
Per disattivare la gestione della memoria

Per disattivare questa funzionalità, connettiti al cluster Aurora PostgreSQL DB con psql e usa l'istruzione SET per i valori dei parametri come indicato di seguito.

Nota

Ti consigliamo di mantenere abilitata la gestione della memoria. Questo aiuta a prevenire potenziali out-of-memory errori che potrebbero portare al riavvio del database indotto dal carico di lavoro a causa dell'esaurimento della memoria.

La tabella seguente mostra come disattivare la funzionalità di gestione della memoria per le diverse versioni di Aurora PostgreSQL:

Versioni Aurora PostgreSQL Parametro Predefinita Comando per disattivare la gestione della memoria a livello di sessione

11,20, 11,21, 12,15, 12,16, 13,11, 13,12, 14,8, 14,9, 15,3, 15,4

rds.memory_allocation_guard

false

SET rds.memory_allocation_guard = true;

12.17, 13.13, 14.10, 15.5 e versioni successive

rds.enable_memory_management

true

SET rds.enable_memory_management = false;

Nota

Il rds.memory_allocation_guard parametro è obsoleto in Aurora PostgreSQL 12.17, 13.13, 14.10, 15.5 e versioni successive.

L'impostazione dei valori di questi parametri nel gruppo di parametri del cluster DB impedisce l'annullamento delle query. Per ulteriori informazioni sul gruppo di parametri del cluster DB, vedere.

Limitazione

  • Questa funzionalità non è supportata nella classe di istanze db.t3.medium.