Tutoriel : Query Performance Insight pour Azure Database pour MySQL – Serveur flexible

S’APPLIQUE À : Azure Database pour MySQL - Serveur flexible

Query Performance Insight se propose de fournir une analyse intelligente des requêtes pour les bases de données. Les insights de prédilection sont les modèles de charge de travail et les requêtes de longue durée. La compréhension de ces insights peut vous aider à identifier les requêtes à optimiser pour améliorer les performances globales et utiliser efficacement vos ressources disponibles.

Query Performance Insight est conçu pour vous permettre de passer moins de temps à résoudre les problèmes de performances de base de données en fournissant les informations suivantes :

  • N premières requêtes de longue durée et leurs tendances associées.
  • Détails des requêtes : consultez l’historique de l’exécution indiquant le temps de requête minimal, maximal, moyen et d’écart type.
  • Utilisation des ressources (processeur, mémoire et stockage).

Cet article explique comment utiliser Azure Database pour MySQL journaux de requête lents du serveur flexible, l’outil Log Analytics et les modèles de classeurs pour visualiser Query Performance Insight pour Azure Database pour MySQL serveur flexible.

Ce didacticiel vous montre comment effectuer les opérations suivantes :

  • Configurer des journaux des requêtes lentes à l’aide du portail Azure ou d’Azure CLI
  • Configurer les diagnostics
  • Afficher des journaux des requêtes lentes avec Log Analytics
  • Afficher des journaux des requêtes lentes avec des classeurs

Prérequis

Configurer des journaux des requêtes lentes à l’aide du portail Azure

  1. Connectez-vous au portail Azure.

  2. Sélectionnez votre instance de serveur flexible Azure Database pour MySQL.

  3. Dans le volet gauche, sous Paramètres, sélectionnez Paramètres du serveur.

    Screenshot showing the 'Server parameters' list.

  4. Pour le paramètre slow_query_log, sélectionnez ON.

    Screenshot showing the 'slow_query_log' parameter switched to 'ON'.

  5. Pour les autres paramètres, comme long_query_time et log_slow_admin_statements, reportez-vous à la documentation sur les journaux des requêtes lentes.

    Screenshot showing updated values for the remaining slow query log-related parameters.

  6. Sélectionnez Enregistrer.

    Screenshot of the 'Save' button for saving changes in the parameter values.

Vous pouvez revenir à la liste des journaux en fermant la page Paramètres du serveur.

Configurer des journaux des requêtes lentes à l’aide d’Azure CLI

Vous pouvez également activer et configurer des journaux de requêtes lentes pour votre instance de serveur flexible Azure Database pour MySQL à partir d’Azure CLI en exécutant la commande suivante :

Important

Pour vous assurer que les performances de votre instance de serveur flexible Azure Database pour MySQL ne sont pas fortement affectées, nous vous recommandons de consigner uniquement les types d’événements et les utilisateurs requis à des fins d’audit.

  • Activez les journaux des requêtes lentes.
az mysql flexible-server parameter set \
--name slow_query_log \
--resource-group myresourcegroup \
--server-name mydemoserver \
--value ON
  • Définissez long_query_time temps sur 10 secondes. Ce paramètre journalisera toutes les requêtes qui s’exécutent pendant plus de 10 secondes. Ajustez ce seuil en fonction de votre définition pour les requêtes lentes.
az mysql server configuration set \
--name long_query_time \
--resource-group myresourcegroup \
--server mydemoserver \
--value 10

Configurer les diagnostics

Les journaux des requêtes lentes sont intégrés aux paramètres de diagnostic Azure Monitor pour vous permettre de canaliser vos journaux vers l’un des trois récepteurs de données suivants :

  • Un espace de travail Log Analytics
  • Un hub d’événements
  • Un compte de stockage

Notes

Vous devez créer vos récepteurs de données avant de configurer les paramètres de diagnostic. Vous pouvez accéder aux journaux des requêtes lentes dans les récepteurs de données que vous avez configurés. L’affichage des journaux peut prendre jusqu’à 10 minutes.

  1. Dans le volet de gauche, sous Supervision, sélectionnez Paramètres de diagnostic.

  2. Dans le volet Paramètres de diagnostic, sélectionnez Ajouter un paramètre de diagnostic.

    Screenshot of the 'Add diagnostic setting' link on the 'Diagnostic settings' pane.

  3. Dans la zone Nom, entrez un nom pour le paramètre de diagnostic.

  4. Spécifiez les destinations (espace de travail Log Analytics, hub d’événements ou compte de stockage) auxquelles envoyer les journaux des requêtes lentes en cochant leurs cases correspondantes.

    Notes

    Pour ce tutoriel, vous allez envoyer les journaux des requêtes lentes à un espace de travail Log Analytics.

  5. Sous Journal, pour le type de journal, cochez la case MySqlSlowLogs.

    Screenshot of the 'Diagnostics settings' pane for selecting configuration options.

  6. Après avoir configuré les récepteurs de données auxquels envoyer les journaux des requêtes lentes, sélectionnez Enregistrer.

    Screenshot of Diagnostic settings configuration options, with Save highlighted.

Afficher les insights de requête en utilisant Log Analytics

  1. Dans Log Analytics, dans le volet gauche, sous Supervision, sélectionnez Journaux.

  2. Fermez la fenêtre Requêtes qui s’ouvre.

    Screenshot of the Log Analytics 'Queries' pane.

  3. Dans la fenêtre de requête, vous pouvez écrire la requête à exécuter. Pour trouver les requêtes qui durent plus de 10 secondes sur un serveur particulier, nous avons utilisé le code suivant :

    AzureDiagnostics
       | where Category == 'MySqlSlowLogs'
       | project TimeGenerated, LogicalServerName_s, event_class_s, start_time_t , query_time_d, sql_text_s 
       | where query_time_d > 10
    
  4. Sélectionnez l’intervalle de temps, puis exécutez la requête. Les résultats apparaissent dans l’image suivante :

    Screenshot of a slow query log.

Afficher les insights de requête avec des classeurs

  1. Dans le Portail Azure, dans le volet gauche, sous Surveillance de votre instance de serveur flexible Azure Database pour MySQL, sélectionnez Classeurs.

  2. Sélectionnez le modèle Query Performance Insight.

    Screenshot showing all workbooks in the workbook gallery.

Dans le classeur, vous pouvez voir les visualisations suivantes :

  • Chargement de requête
  • Nombre total de connexions actives
  • Tendance des requêtes lentes (durée des requêtes > 10 secondes)
  • Détails des requêtes lentes
  • Lister les 5 requêtes les plus longues
  • Résumer les requêtes lentes selon le temps de requête minimal, maximal, moyen et d’écart type

Screenshot showing two long queries.

Remarque

  • Pour voir l’utilisation des ressources, vous pouvez utiliser le modèle Vue d’ensemble.
  • Vous pouvez aussi modifier ces modèles et les personnaliser selon vos besoins. Pour plus d’informations, consultez Azure Workbooks.
  • Pour une consultation rapide, vous pouvez aussi épingler les classeurs ou la requête Log Analytics sur votre tableau de bord. Pour plus d’informations, consultez Créer un tableau de bord dans le portail Azure.

Dans Query Performance Insight, deux métriques peuvent vous aider à trouver les goulots d’étranglement potentiels : la durée et le nombre d’exécutions. Les requêtes de longue durée ont le plus grand risque de verrouiller des ressources le plus longtemps, de bloquer d’autres utilisateurs et de limiter l’évolutivité.

Dans certains cas, un nombre d’exécutions élevé peut augmenter le nombre d’allers-retours réseau. Les allers-retours réseau affectent les performances. Ils peuvent entraîner une latence du réseau et une latence du serveur en aval. Le nombre d’exécutions peut donc faciliter la recherche des requêtes fréquemment exécutées (« bavardes »). Ces requêtes peuvent être facilement optimisées.

Étapes suivantes