Configurer l’optimisation des index dans Azure Database pour PostgreSQL – Serveur flexible
S’APPLIQUE À : Azure Database pour PostgreSQL : serveur flexible
L’optimisation des index peut être activée, désactivée et configurée via un ensemble de paramètres qui contrôlent son comportement, par exemple la fréquence à laquelle d’optimisation peut s’exécuter.
Activer l’optimisation des index
L’optimisation des index dépend de Superviser les performances avec le Magasin des requêtes. Nous vous déconseillons d’activer le Magasin des requêtes sur le niveau tarifaire Burstable en raisons de ses implications possibles en matière de performances. Pour la même raison, l’optimisation des index n’est pas recommandée pour les serveurs du niveau Burstable.
L’optimisation des index est une fonctionnalité facultative qui n’est pas activée par défaut sur un serveur. Elle peut être activée ou désactivée de façon globale pour toutes les bases de données se trouvant sur un serveur donné, et ne peut donc pas être activée ou désactivée à l’échelle d’une base de données.
Activer l’optimisation des index dans le portail Azure (via les paramètres de serveur)
Connectez-vous au portail Azure et sélectionnez votre instance Azure Database pour PostgreSQL – Serveur flexible.
Sélectionnez Paramètres du serveur dans la section Paramètres du menu.
Recherchez le paramètre
pg_qs.query_capture_mode
.Définissez la valeur sur
TOP
ouALL
, selon que vous voulez effectuer le suivi des requêtes de plus haut niveau ou des requêtes imbriquées. Les requêtes imbriquées sont des requêtes exécutées à l’intérieur d’une fonction ou d’une procédure. Pour tirer le meilleur parti de l’optimisation des index, il est recommandé de définir ce paramètre surALL
.Recherchez le paramètre
index_tuning.mode
et définissez sa valeur surREPORT
.Sélectionnez Enregistrer.
Attendez que le déploiement soit terminé avant de considérer que la fonctionnalité est activée.
Activer l’optimisation des index dans le portail Azure (via Optimisation des index)
Connectez-vous au portail Azure et sélectionnez votre instance Azure Database pour PostgreSQL – Serveur flexible.
Sélectionnez Optimisation des index dans la section Performances intelligentes du menu.
Si
pg_qs.query_capture_mode
est défini surNONE
ou siindex_tuning.mode
est défini surOFF
, la page d’optimisation des index vous donne la possibilité d’activer l’optimisation des index.Sélectionnez un des deux boutons Activer l’optimisation des index pour activer la fonctionnalité d’optimisation des index et sa dépendance obligatoire du Magasin des requêtes, à condition que le Magasin des requêtes soit désactivé.
Après avoir activé l’optimisation des index, attendez 12 heures, le temps que le moteur d’optimisation des index analyse la charge de travail collectée par le Magasin des requêtes pendant cette période, et produise au final des recommandations de création ou de suppression d’index.
Important
Quand l’optimisation des index est activée via le bouton Activer l’optimisation des index, si pg_qs.query_capture_mode
est défini sur NONE
, il sera défini sur ALL
. S’il était déjà été défini sur TOP
ou ALL
, il est laissé dans son état actuel.
Désactiver l’optimisation des index
La désactivation de l’optimisation des index peut également être obtenue en modifiant le paramètre de serveur correspondant ou en tirant parti de la page Optimisation des index.
Désactiver l’optimisation des index dans le portail Azure (via les paramètres de serveur)
Connectez-vous au portail Azure et sélectionnez votre instance de serveur flexible Azure Database pour PostgreSQL.
Sélectionnez Paramètres du serveur dans la section Paramètres du menu.
Recherchez le paramètre
index_tuning.mode
et définissez sa valeur surOFF
.La désactivation de l’optimisation des index ne désactive pas automatiquement le Magasin des requêtes. Déterminez si vous voulez continuer à utiliser Surveiller les performances avec le Magasin des requêtes pour surveiller les performances de votre charge de travail et la laisser activée ou, si vous voulez la désactiver, définissez
pg_qs.query_capture_mode
surNONE
.Sélectionnez Enregistrer.
Attendez que le déploiement soit terminé avant de considérer que la fonctionnalité est désactivée.
Désactiver l’optimisation des index dans le portail Azure (via Optimisation des index)
Connectez-vous au portail Azure et sélectionnez votre instance Azure Database pour PostgreSQL – Serveur flexible.
Sélectionnez Optimisation des index dans la section Query Performance Insight du menu.
Sélectionnez le bouton Désactiver l’optimisation des index pour désactiver la fonctionnalité.
Déterminez si vous voulez continuer à utiliser Surveiller les performances avec le Magasin des requêtes pour surveiller les performances de votre charge de travail et la laisser activée ou, si vous voulez la désactiver, définissez
pg_qs.query_capture_mode
surNONE
.
Important
Quand l’optimisation des index est désactivée via le bouton Désactiver l’optimisation des index, le paramètre de serveur pg_qs.query_capture_mode
est laissé intact.
Options de configuration
Quand l’optimisation des index est activée, elle démarre avec une fréquence configurée dans le paramètre du serveur index_tuning.analysis_interval
(par défaut, 720 minutes ou 12 heures) et commence à analyser la charge de travail enregistrée par le Magasin des requêtes au cours de cette période.
Notez que si vous changez la valeur de index_tuning.analysis_interval
, elle est prise en compte seulement une fois que l’exécution planifiée suivante se termine. Par exemple, si vous activez l’optimisation des index un certain jour à 10h00, comme la valeur par défaut pour index_tuning.analysis_interval
est de 720 minutes, le démarrage de la première exécution sera planifié à 22h00 le même jour. Les modifications apportées à la valeur de index_tuning.analysis_interval
entre 10h00 et 22h00 ne vont pas affecter cette planification initiale. C’est seulement quand l’exécution planifiée se termine qu’elle lit la valeur actuelle définie pour index_tuning.analysis_interval
et planifie l’exécution suivante en fonction de cette valeur.
Les options suivantes sont disponibles pour la configuration des paramètres d’optimisation des index :
Paramètre | Description | Par défaut | Plage | Unités |
---|---|---|---|---|
index_tuning.analysis_interval |
Définit la fréquence à laquelle chaque session d’optimisation des index est déclenchée quand index_tuning.mode est défini sur REPORT . |
720 |
60 - 10080 |
minutes |
index_tuning.max_columns_per_index |
Nombre maximal de colonnes qui peuvent faire partie de la clé d’index pour les index recommandés. | 2 |
1 - 10 |
|
index_tuning.max_index_count |
Nombre maximal d’index recommandés pour chaque base de données lors d’une session d’optimisation. | 10 |
1 - 25 |
|
index_tuning.max_indexes_per_table |
Nombre maximal d’index qui peuvent être recommandés pour chaque table. | 10 |
1 - 25 |
|
index_tuning.max_queries_per_database |
Nombre de requêtes les plus lentes par base de données pour laquelle des index peuvent être recommandés. | 25 |
5 - 100 |
|
index_tuning.max_regression_factor |
Régression acceptable introduite par un index recommandé sur les requêtes analysées lors d’une session d’optimisation. | 0.1 |
0.05 - 0.2 |
pourcentage |
index_tuning.max_total_size_factor |
Taille totale maximale, en pourcentage de l’espace disque total, que tous les index recommandés pour une base de données particulière peuvent utiliser. | 0.1 |
0 - 1 |
pourcentage |
index_tuning.min_improvement_factor |
Amélioration des coûts qu’un index recommandé doit fournir à au moins une des requêtes analysées lors d’une session d’optimisation. | 0.2 |
0 - 20 |
pourcentage |
index_tuning.mode |
Configure l’optimisation des index comme étant désactivée (OFF ) ou activée pour émettre seulement des recommandations. Nécessite l’activation du Magasin des requêtes en définissant pg_qs.query_capture_mode sur TOP ou ALL . |
OFF |
OFF, REPORT |
|
index_tuning.unused_dml_per_table |
Nombre minimal d’opérations DML en moyenne par jour affectant la table pour que la suppression de ses index inutilisés soit envisagée. | 1000 |
0 - 9999999 |
|
index_tuning.unused_min_period |
Nombre minimal de jours pendant lesquels, d’après les statistiques système, l’index n’a pas été utilisé pour que sa suppression soit envisagée. | 35 |
30 - 70 |
|
index_tuning.unused_reads_per_table |
Nombre minimal d’opérations de lecture en moyenne par jour affectant la table pour que la suppression de ses index inutilisés soit envisagée. | 1000 |
0 - 9999999 |
Contenu connexe
- Optimisation des index dans Azure Database pour PostgreSQL – Serveur flexible.
- Utilisation des recommandations d’index produites par l’optimisation des index dans Azure Database pour PostgreSQL – Serveur flexible.
- Surveiller le niveau de performance avec le Magasin des requêtes.
- Scénarios d’utilisation du Magasin des requêtes : Azure Database pour PostgreSQL – Serveur flexible.
- Meilleures pratiques pour le Magasin des requêtes – Azure Database pour PostgreSQL – Serveur flexible.
- Query Performance Insight pour Azure Database pour PostgreSQL – Serveur flexible.