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 :
- Restaurez votre base de données à partir d'un instantané récent ou effectuez une restauration à un instant dans le passé.
- 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 :
- 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 ?
- 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 ?
- Activez la surveillance améliorée et Performance Insights.
- 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 :
- Comparez les plans EXPLAIN entre les versions. Pour en savoir plus, consultez la page EXPLAIN sur le site Web de PostgreSQL.
- 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.
- Pour supprimer l’inflation de l'index, utilisez REINDEX. Pour en savoir plus, consultez la page REINDEX sur le site Web de PostgreSQL.
- (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 :
- 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.
- 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