Passer au contenu

Comment maintenir un comportement d'application cohérent après une mise à niveau majeure de la version d'Amazon RDS pour PostgreSQL ?

Lecture de 4 minute(s)
0

Je souhaite éviter les problèmes de performance des applications lorsque je mets à niveau ma base de données Amazon Relational Database Service (Amazon RDS) pour PostgreSQL.

Résolution

Configurer un environnement de test pour votre instance de production Amazon RDS pour PostgreSQL

Pour créer un environnement de test, vous devez restaurer votre base de données à partir d'un instantané récent. Vous pouvez également effectuer une restauration instantanée de votre base de données à l'heure restaurable la plus récente, puis effectuer une mise à niveau vers l’instantané récemment restauré.

Procédez comme suit :

  1. Restaurez votre base de données à partir d'un instantané récent ou effectuez une restauration à un instant dans le passé.
  2. Procédez à la mise à niveau de la version sur la base de données restaurée.

Réaliser des tests fonctionnels

Remarque : Pour plus d'informations, consultez les pages Mises à jour d’Amazon RDS pour PostgreSQL et Migration vers la version 17.2 sur le site Web de PostgreSQL.

Lorsque vous effectuez une mise à niveau majeure, toute modification de version peut affecter la compatibilité de votre application. Par exemple, une modification de la gestion des connexions dans RDS pour PostgreSQL peut provoquer une interruption de l'application si le paramètre Max_connection n'est pas correctement ajusté.

Pour identifier tout problème de compatibilité des versions, vous devez tester les fonctionnalités de votre application avec des charges de travail de type production par rapport à la base de données de test. Vous pouvez ensuite apporter les modifications nécessaires au code d’application.

Réaliser des tests de performance

Établir une base de performance actuelle

Procédez comme suit :

  1. Activez auto_explain pour la journalisation du plan de requête. Pour en savoir plus, consultez la page auto_explain sur le site Web de PostgreSQL.
    Remarque : Pour plus d'informations, consultez la section Comment enregistrer les plans d'exécution des requêtes pour Amazon RDS PostgreSQL ou Aurora PostgreSQL afin d'optimiser les performances des requêtes ?
  2. Activez la journalisation des requêtes avec la durée. Pour plus d'informations, consultez la section Comment utiliser Amazon RDS pour activer la journalisation des requêtes pour PostgreSQL ?
  3. Activez la surveillance améliorée et Performance Insights.
  4. Pour obtenir une comparaison historique des performances et de la charge de travail de la base de données, exportez les journaux de base de données vers les journaux PostgreSQL vers Amazon CloudWatch.

Identifier les problèmes de performance

Pour comparer les stratégies d'exécution et les coûts entre les versions de base de données, utilisez les plans de requête EXPLAIN. Pour surveiller et comparer les temps de réponse réels aux requêtes et les modèles d'utilisation des ressources par rapport aux anciennes versions, utilisez la journalisation des requêtes et Performance Insights.

Procédez comme suit :

  1. Comparez les plans EXPLAIN entre les versions. Pour en savoir plus, consultez la page EXPLAIN sur le site Web de PostgreSQL.
  2. Pour mettre à jour les statistiques de table, utilisez ANALYZE en augmentant la valeur de default_statistics_target. Pour en savoir plus, consultez la page ANALYZE sur le site Web de PostgreSQL.
  3. Pour supprimer l’inflation de l'index, utilisez REINDEX. Pour en savoir plus, consultez la page REINDEX sur le site Web de PostgreSQL.
  4. (Facultatif) Pour créer des statistiques étendues pour les colonnes corrélées, utilisez la commande CREATE STATISTICS. Pour plus d'informations, consultez la page CREATE STATISTICS sur le site Web de PostgreSQL.
    Remarque : Utilisez l'extension pg_hint_plan si nécessaire.

Réaliser un test de résistance

Procédez comme suit :

  1. Utilisez pgbench avec des scripts personnalisés en fonction de la charge de travail de votre application. Pour en savoir plus, consultez la page pgbench sur le site Web de PostgreSQL.
  2. Pour tester le comportement des bases de données et surveiller les métriques de performance en cas de charge élevée, vous devez appliquer une charge de travail similaire à celle de la production. Pour plus d'informations, consultez les sections Observations et considérations relatives à l’analyse comparative de PostgreSQL et Analyse comparative d'Amazon RDS pour PostgreSQL avec des volumes de journaux dédiés.

Informations connexes

Configuration de la méthode du planificateur sur le site Web de PostgreSQL

Comprendre les statistiques dans PostgreSQL

Comment effectuer une mise à niveau majeure de la version de RDS pour PostgreSQL