Complete a 3 Question Survey and Earn a re:Post Badge
Help improve AWS Support Official channel in re:Post and share your experience - complete a quick three-question survey to earn a re:Post badge!
Come posso mantenere un comportamento coerente delle applicazioni dopo un aggiornamento della versione principale di Amazon RDS per PostgreSQL?
Desidero evitare problemi di prestazioni delle applicazioni quando aggiorno il mio database Amazon Relational Database Service (Amazon RDS) per PostgreSQL.
Risoluzione
Configura un ambiente di test per l'istanza di produzione Amazon RDS per PostgreSQL
Per creare un ambiente di test, è necessario ripristinare il database da uno snapshot recente. Oppure esegui un ripristino point-in-time del database all'ora ripristinabile più recente, quindi esegui un aggiornamento allo snapshot appena ripristinato.
Completa i seguenti passaggi:
- Ripristina il database da uno snapshot recente o esegui un ripristino point-in-time.
- Esegui l'aggiornamento della versione sul database ripristinato.
Effettua test funzionali
Nota: per ulteriori informazioni, consulta Amazon RDS for PostgreSQL updates (Aggiornamenti di Amazon RDS per PostgreSQL) e Migration to Version 17.2 (Migrazione alla versione 17.2) sul sito web di PostgreSQL.
Quando esegui un aggiornamento della versione principale, qualsiasi modifica alla versione potrebbe influire sulla compatibilità dell'applicazione. Ad esempio, una modifica della gestione delle connessioni in RDS per PostgreSQL potrebbe causare un'interruzione dell'applicazione se il parametro Max_connection non è regolato correttamente.
Per identificare eventuali problemi di compatibilità delle versioni, devi testare la funzionalità dell'applicazione con carichi di lavoro simili a quelli di produzione rispetto al database di test. Quindi puoi apportare le modifiche necessarie al codice dell'applicazione.
Effettua test delle prestazioni
Stabilisci la baseline delle prestazioni attuali
Completa i seguenti passaggi:
- Abilita auto_explain e la registrazione del piano di query. Per ulteriori informazioni, consulta auto_explain sul sito web di PostgreSQL.
Nota: per ulteriori informazioni, consulta How can I log execution plans of queries for Amazon RDS PostgreSQL or Aurora PostgreSQL to tune query performance? (Come posso registrare piani di esecuzione di query per Amazon RDS PostgreSQL o Aurora PostgreSQL in modo da ottimizzare le prestazioni delle query?) - Abilita la registrazione delle query con la relativa durata. Per ulteriori informazioni, consulta Come faccio a utilizzare Amazon RDS per attivare la registrazione delle query per PostgreSQL?
- Attiva Monitoraggio avanzato e Performance Insights.
- Per ottenere un confronto cronologico delle prestazioni e del carico di lavoro del database, esporta i log del database nei log di PostgreSQL su Amazon CloudWatch.
Identifica i problemi di prestazioni
Per confrontare le strategie di esecuzione e i costi tra le versioni del database, utilizza i piani di query EXPLAIN. Per monitorare e confrontare i tempi di risposta effettivi alle query e i modelli di utilizzo delle risorse delle versioni precedenti, utilizza la registrazione delle query e Performance Insights.
Completa i seguenti passaggi:
- Confronta i piani EXPLAIN tra le versioni. Per ulteriori informazioni, consulta EXPLAIN sul sito web di PostgreSQL.
- Per aggiornare le statistiche della tabella, utilizza ANALYZE con default_statistics_target aumentato. Per ulteriori informazioni, consulta ANALYZE sul sito web di PostgreSQL.
- Per rimuovere il bloat dell'indice, utilizza REINDEX. Per ulteriori informazioni, consulta REINDEX sul sito web di PostgreSQL.
- (Facoltativo) Per creare statistiche estese per colonne correlate, utilizza il comando CREATE STATISTICS. Per ulteriori informazioni, consulta CREATE STATISTICS sul sito web di PostgreSQL.
Nota: utilizza l'estensione pg_hint_plan se necessario.
Effettua stress test
Completa i seguenti passaggi:
- Utilizza pgbench con script personalizzati in base al carico di lavoro dell'applicazione. Per ulteriori informazioni, consulta pgbench sul sito web di PostgreSQL.
- Per testare il comportamento del database e monitorare le metriche delle prestazioni in caso di carico elevato, devi applicare un carico di lavoro simile a quello di produzione. Per ulteriori informazioni, consulta PostgreSQL benchmark observations and considerations (Osservazioni e considerazioni sui benchmark di PostgreSQL) e Benchmark Amazon RDS for PostgreSQL with Dedicated Log Volumes (Valutazione di Amazon RDS per PostgreSQL con la funzionalità Dedicated Log Volumes).
Informazioni correlate
Planner Method Configuration (Configurazione del metodo di pianificazione) sul sito web di PostgreSQL
Understanding statistics in PostgreSQL (Interpretazione delle statistiche in PostgreSQL)
Come eseguire un aggiornamento della versione principale di RDS per PostgreSQL
