Query Performance Insight dans un serveur flexible Azure Database pour PostgreSQL

Query Performance Insight fournit une analyse intelligente des requêtes pour les bases de données dans un serveur flexible Azure Database pour PostgreSQL. Il vous permet d’identifier les principales requêtes consommatrices de ressources et longues dans votre charge de travail. Ces informations vous aident à trouver les requêtes à optimiser pour améliorer les performances globales de la charge de travail et à utiliser efficacement la ressource pour laquelle vous payez. Query Performance Insight vous permet de passer moins de temps à résoudre les problèmes de performances des bases de données en fournissant :

  • Identification de vos requêtes de longue durée et de la façon dont elles changent au fil du temps.
  • Détermination des types d’attente affectant ces requêtes.
  • Détails sur les principales requêtes de base de données par appels (nombre d’exécutions), par utilisation des données, par E/S par seconde et par utilisation temporaire des fichiers (candidats de réglage potentiels pour améliorer les performances).
  • Possibilité d’explorer les détails d’une requête pour afficher l’ID de requête et l’historique de l’utilisation des ressources.
  • Un aperçu plus détaillé de la consommation globale des ressources des bases de données.

Prerequisites

Note

Le magasin de requêtes est actuellement désactivé. Query Performance Insight dépend des données de Query Store. Vous devez l’activer en définissant le paramètre pg_qs.query_capture_mode dynamique sur ALL ou TOP.

Note

L’échantillonnage des attentes du Query Store est actuellement désactivé. Query Performance Insight s’appuie sur les données d’échantillonnage des attentes de Query Store. Vous devez l’activer en définissant le paramètre pgms_wait_sampling.query_capture_mode dynamique sur ALL.

Note

Les données de Query Store ne sont pas transmises à l’espace de travail Log Analytics. Les journaux (données de sessions, données d’exécution du Magasin des requêtes et statistiques d’attente du Magasin des requêtes) ne sont pas envoyés à l’espace de travail Log Analytics, ce qui est nécessaire pour utiliser Query Performance Insight. Pour configurer les paramètres de diagnostic d’un serveur flexible Azure Database pour PostgreSQL et envoyer les données à un espace de travail Log Analytics, consultez Configurer et accéder aux journaux d’activité dans Azure Database pour PostgreSQL.

Permissions

Pour utiliser Query Performance Insight avec Azure Database pour PostgreSQL serveur flexible, vous avez besoin des autorisations Azure de contrôle d’accès en fonction du rôle (Azure RBAC) suivantes pour votre serveur flexible PostgreSQL :

  • Microsoft.DBforPostgreSQL/flexibleServers/configurations/read
  • Microsoft.DBforPostgreSQL/flexibleServers/providers/Microsoft.Insights/diagnosticSettings/read
  • Microsoft.DBforPostgreSQL/flexibleServers/read
  • Microsoft.Insights/Components/read
  • Microsoft.Insights/DiagnosticSettings/read
  • Microsoft.Insights/DiagnosticSettingsCategories/read
  • Microsoft.Insights/Logs/AzureDiagnostics/read
  • Microsoft.Insights/Logs/read

Utilisation de Query Performance Insight

La vue Query Performance Insight dans le portail Azure fournit des visualisations sur les informations clés du magasin de requêtes. Query Performance Insight est simple d’utilisation :

  1. Ouvrez le portail Azure et recherchez un serveur flexible Azure Database pour PostgreSQL que vous souhaitez examiner.

  2. Dans le menu de gauche, ouvrez Performances intelligentes>Query Performance Insight.

  3. Sélectionnez un intervalle de temps pour l’examen des requêtes.

  4. Dans le premier onglet, passez en revue la liste des Requêtes longues.

  5. Utilisez les curseurs ou les icônes de zoom pour changer l’intervalle observé.

    Capture d’écran montrant l’utilisation de curseurs pour modifier l’intervalle observé.

  6. Si vous le souhaitez, sélectionnez personnalisé pour spécifier un intervalle de temps.

  7. Pour afficher les détails d’une requête spécifique, sélectionnez la QueryId Snapshot liste déroulante.

    Capture d’écran montrant les détails d’une requête spécifique.

  8. Pour obtenir le Texte de requête d’une requête spécifique, connectez-vous à la base de données azure_sys sur le serveur et interrogez query_store.query_texts_view avec QueryId.

    Capture d’écran montrant comment obtenir le texte de requête d’une requête spécifique.

  9. Dans les onglets suivants, vous trouverez d’autres informations sur la requête, notamment :

    • Statistiques d’attente
    • Principales requêtes par Appels
    • Principales requêtes par Utilisation des données
    • Principales requêtes par IOPS
    • Principales requêtes par Fichiers temporaires

Note

Pour qu’un serveur flexible Azure Database pour PostgreSQL affiche les informations dans Query Performance Insight, le magasin de requêtes doit capturer quelques heures de données. Si la base de données n’a aucune activité ou si le magasin de requêtes n’a pas été actif pendant une certaine période, les graphiques sont vides lorsque Query Performance Insight affiche cet intervalle de temps. Vous pouvez activer Query Store à tout moment s’il n’est pas déjà en cours d’exécution. Pour plus d’informations, consultez Meilleures pratiques relatives à Query Store.

Considérations

  • Query Performance Insight n’est pas disponible pour les réplicas en lecture.
  • Pour que Query Performance Insight fonctionne, le magasin de requêtes doit avoir des données. Étant donné que le magasin de requêtes est une fonctionnalité d’adhésion, elle n’est pas activée par défaut sur un serveur. Vous activez ou désactivez le magasin de requêtes globalement pour toutes les bases de données sur un serveur. Vous ne pouvez pas l’activer ou le désactiver pour des bases de données individuelles.
  • L'activation du magasin de requêtes sur le niveau tarifaire Burstable peut avoir un impact négatif sur les performances. Ne l’activez pas sur ce niveau.