Partage via


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)

  1. Connectez-vous au portail Azure et sélectionnez votre instance Azure Database pour PostgreSQL – Serveur flexible.

  2. Sélectionnez Paramètres du serveur dans la section Paramètres du menu.

  3. Recherchez le paramètre pg_qs.query_capture_mode.

  4. Définissez la valeur sur TOP ou ALL, 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 sur ALL.

    Capture d’écran montrant comment définir la valeur du paramètre de serveur pg_qs.query_capture_mode.

  5. Recherchez le paramètre index_tuning.mode et définissez sa valeur sur REPORT.

    Capture d’écran montrant comment définir la valeur du paramètre de serveur index_tuning.mode sur REPORT.

  6. Sélectionnez Enregistrer.

    Capture d’écran montrant comment enregistrer les paramètres modifiés afin qu’ils prennent effet.

  7. Attendez que le déploiement soit terminé avant de considérer que la fonctionnalité est activée.

    Capture d’écran montrant le déploiement lancé pour enregistrer les paramètres de serveur modifiés quand il se termine correctement.

Activer l’optimisation des index dans le portail Azure (via Optimisation des index)

  1. Connectez-vous au portail Azure et sélectionnez votre instance Azure Database pour PostgreSQL – Serveur flexible.

  2. Sélectionnez Optimisation des index dans la section Performances intelligentes du menu.

  3. Si pg_qs.query_capture_mode est défini sur NONE ou si index_tuning.mode est défini sur OFF, la page d’optimisation des index vous donne la possibilité d’activer l’optimisation des index.

  4. 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é.

    Capture d’écran montrant comment activer l’optimisation des index via la page Optimisation des index.

  5. 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)

  1. Connectez-vous au portail Azure et sélectionnez votre instance de serveur flexible Azure Database pour PostgreSQL.

  2. Sélectionnez Paramètres du serveur dans la section Paramètres du menu.

  3. Recherchez le paramètre index_tuning.mode et définissez sa valeur sur OFF.

    Capture d’écran montrant comment définir la valeur du paramètre de serveur index_tuning.mode sur OFF.

  4. 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 sur NONE.

  5. Sélectionnez Enregistrer.

    Capture d’écran montrant comment enregistrer les paramètres modifiés afin qu’ils prennent effet.

  6. Attendez que le déploiement soit terminé avant de considérer que la fonctionnalité est désactivée.

    Capture d’écran montrant le déploiement lancé pour enregistrer les paramètres de serveur modifiés quand il se termine correctement.

Désactiver l’optimisation des index dans le portail Azure (via Optimisation des index)

  1. Connectez-vous au portail Azure et sélectionnez votre instance Azure Database pour PostgreSQL – Serveur flexible.

  2. Sélectionnez Optimisation des index dans la section Query Performance Insight du menu.

  3. Sélectionnez le bouton Désactiver l’optimisation des index pour désactiver la fonctionnalité.

    Capture d’écran montrant comment désactiver l’optimisation des index via la page Optimisation des index (préversion).

  4. 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 sur NONE.

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