Tutoriel : Query Performance Insight pour 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 les journaux des requêtes lentes du serveur flexible Azure Database pour MySQL, l’outil Log Analytics et les modèles de classeurs pour visualiser Query Performance Insight pour le serveur flexible Azure Database pour MySQL.
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
- Démarrage rapide : Créer une instance d’Azure Database pour MySQL avec le portail Azure.
- Créez un espace de travail Log Analytics.
Configurer des journaux des requêtes lentes à l’aide du portail Azure
Connectez-vous au portail Azure.
Sélectionnez votre instance de serveur flexible Azure Database pour MySQL.
Dans le volet gauche, sous Paramètres, sélectionnez Paramètres du serveur.
Pour le paramètre slow_query_log, sélectionnez ON.
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.
Sélectionnez Enregistrer.
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 aussi activer et configurer les journaux des 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 veiller à ce que les performances de l’instance de serveur flexible Azure Database pour MySQL ne soient pas lourdement impactées, nous vous recommandons de journaliser uniquement les types d’événements et les utilisateurs requis pour vos audits.
- Activer 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 la durée long_query_time 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 des 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.
Dans le volet de gauche, sous Supervision, sélectionnez Paramètres de diagnostic.
Dans le volet Paramètres de diagnostic, sélectionnez Ajouter un paramètre de diagnostic.
Dans la zone Nom, entrez un nom pour le paramètre de diagnostic.
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.
Sous Journal, pour le type de journal, cochez la case MySqlSlowLogs.
Après avoir configuré les récepteurs de données auxquels envoyer les journaux des requêtes lentes, sélectionnez Enregistrer.
Afficher les insights de requête en utilisant Log Analytics
Dans Log Analytics, dans le volet gauche, sous Supervision, sélectionnez Journaux.
Fermez la fenêtre Requêtes qui s’ouvre.
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
Sélectionnez l’intervalle de temps, puis exécutez la requête. Les résultats apparaissent dans l’image suivante :
Afficher les insights de requête avec des classeurs
Dans le portail Azure, dans le volet gauche, sous Supervision pour votre instance de Serveur flexible Azure Database pour MySQL, sélectionnez Classeurs.
Sélectionnez le modèle Query Performance Insight.
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
Notes
- 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.