Utilisation du hub de performances pour analyser les performances SQL
Vous pouvez utiliser le hub de performances pour surveiller et analyser les performances SQL et obtenir une meilleure visibilité sur les problèmes de performances.
Le hub de performances pour les systèmes de base de données HeatWave et MySQL externes affiche les informations d'instruction SQL pour la période sélectionnée. Grâce au hub de performances, vous pouvez améliorer les performances de vos applications de base de données en surveillant les performances des requêtes. Il vous permet d'identifier précisément le code SQL qui est la cause première d'un ralentissement et d'améliorer le code SQL pendant le développement actif, ainsi que de surveiller et de régler en permanence les requêtes exécutées sur les systèmes de production.
Pour accéder au hub de performances, cliquez sur Hub de performances sur la page Détails de la base de données MySQL dans Database Management. Pour plus d'informations, reportez-vous à Surveillance d'un système de base de données HeatWave ou MySQL externe unique.
- Pour un système de base de données HeatWave compatible Database Management, vous pouvez également accéder au hub de performances à partir de la page Détails du système de base de données du service HeatWave.
- Pour les systèmes de base de données HeatWave, certaines fonctionnalités du hub de performances, telles que le plan d'explication et les détails des erreurs les plus graves, ne sont disponibles que si l'option Surveillance complète a été sélectionnée lors de l'activation de Database Management. Pour obtenir des informations, reportez-vous à Activation de Database Management pour HeatWave.
- Pour les systèmes de base de données MySQL externes, assurez-vous que les tables et variables requises sont configurées dans votre configuration MySQL, et que vous disposez des privilèges requis pour effectuer des tâches telles que l'affichage des détails d'erreur d'exécution et du plan d'exécution. Pour plus d'informations, reportez-vous à Exécution des tâches prérequises liées au système de base de données MySQL externe.
Dans le hub de performances, sélectionnez une option dans la liste déroulante Dernière vue pour indiquer la durée pour laquelle surveiller l'activité SQL et visualiser les dernières instructions SQL vues. Si vous sélectionnez l'option Personnalisé dans la liste déroulante Dernière vue, vous pouvez indiquer une durée personnalisée au cours des sept derniers jours. Le champ Période affiche la période en fonction de l'option Dernière consultation sélectionnée. Vous pouvez également cliquer sur le champ Période pour indiquer une durée personnalisée au cours des sept derniers jours. Pour actualiser les données dans le hub de performances, cliquez sur Actualiser dans l'angle supérieur droit.
En fonction de la période sélectionnée, les informations pertinentes sont affichées dans les graphiques et sections suivants :
- Latence moyenne d'instruction (secondes) : affiche la latence moyenne (en secondes) des instructions SQL exécutées sur le système de base de données.
Cliquez sur Sélectionner des graphiques dans l'angle supérieur droit et sélectionnez Nombre d'instructions pour afficher le graphique Nombre d'instructions. Ce graphique affiche le nombre total d'instructions SQL exécutées sur le système de base de données au cours de la période sélectionnée. Pour un système de base de données HeatWave, le graphique Nombre d'instructions affiche également le nombre d'instructions SQL déchargées vers HeatWave pour exécution.
- 100 premiers par <indicateur> : affiche les informations récapitulatives agrégées pour les instructions SQL les plus consommatrices de ressources en fonction d'un indicateur sélectionné, tel que la latence moyenne des instructions, le nombre total d'exécutions ou le statut d'exécution. Dans la section 100 premiers par <indicateur>, vous pouvez sélectionner un indicateur pour trier et surveiller les instructions SQL en fonction de cette mesure de performances, ce qui vous aide à identifier rapidement les instructions coûteuses. Database Management utilise les données stockées dans la table
events_statements_summary_by_digest
du schéma de performances MySQL. Les instructions SQL répertoriées dans la section 100 premiers par <indicateur> sont des instructions normalisées et les données affichées sont agrégées à partir du moment où chaque instruction a été vue pour la première fois. En fonction des données, les instructions SQL les plus lentes, les plus fréquentes ou les plus gourmandes en ressources sont affichées. Vous pouvez utiliser ces informations pour identifier les instructions à l'origine des problèmes de performances.Notez que certains indicateurs de la liste déroulante 100 premiers par <indicateur> sont affichés en tant que colonnes par défaut. Si vous choisissez de trier les instructions SQL à l'aide d'un indicateur qui n'est pas une colonne par défaut, par exemple, Première vue, elle sera ajoutée en tant que dernière colonne. Pour personnaliser davantage les informations affichées dans cette section, sélectionnez ou désélectionnez des options dans la liste déroulante Colonnes. Pour un système de base de données compatible avec HeatWave, vous pouvez également filtrer les instructions SQL en sélectionnant une option dans la liste déroulante Statut de déchargement HeatWave.
Voici la liste des indicateurs ou des colonnes de la section 100 premiers par <indicateur>, par ordre alphabétique.
Indicateur/Colonne Description Temps UC moyen
Temps CPU moyen, calculé en divisant le temps CPU total par le nombre total d'exécutions d'une instruction SQL spécifique (identifié par sa synthèse).
Remarque : pour les systèmes de base de données HeatWave, cet indicateur n'est répertorié que si l'option Surveillance complète a été sélectionnée lors de l'activation de Database Management. Pour obtenir des informations, reportez-vous à Activation de Database Management pour HeatWave.
En outre, pour utiliser cet indicateur pour les systèmes de base de données HeatWave, vous devez exécuter la requête suivante afin d'activer les instruments d'UC :
UPDATE performance_schema.setup_consumers SET ENABLED = 'YES' WHERE NAME = 'events_statements_cpu';
Pour les systèmes de base de données MySQL externes, le type de consommateur
events_statements_cpu
doit être défini surYES
pour utiliser cet indicateur. Pour plus d'informations, reportez-vous à Exécution des tâches prérequises liées au système de base de données MySQL externe.Latence moyenne des instructions (indicateur par défaut)
Durée moyenne d'exécution de l'instruction SQL, calculée sur l'ensemble des exécutions de l'instruction.
Base de données Nom de la base de données sur laquelle l'instruction SQL a été exécutée ou "-" si aucune base de données n'est indiquée. Il s'agit d'une colonne par défaut qui n'est pas incluse dans la liste des indicateurs.
Statut d'exécution
Etat en cours ou résultat de l'exécution de l'instruction SQL.
Si une erreur se produit lors de l'exécution d'une instruction SQL, la colonne Statut affiche une icône d'erreur (
). Cliquez sur cette icône pour afficher le code d'erreur, le nombre d'occurrences et le message d'erreur dans le panneau Détails des erreurs les plus graves. Notez que les détails d'erreur peuvent ne pas être affichés si certaines variables ou tables ne sont pas configurées ou activées dans votre configuration MySQL.
Premier élément visualisé
Heure à laquelle l'instruction SQL a été vue pour la première fois.
HeatWave déchargé
Nombre d'exécutions d'instruction SQL déchargées vers l'accélérateur de requêtes en mémoire HeatWave.
Remarque : en plus des données de la table
events_statements_summary_by_digest
, le statut de déchargement HeatWave est répertorié dans la liste déroulante des indicateurs pour les systèmes de base de données compatibles avec HeatWave.Dernière connexion
Heure à laquelle l'instruction SQL a été vue pour la dernière fois.
Aucun index correct utilisé
Nombre total de fois où MySQL n'a pas trouvé d'index efficace pour exécuter l'instruction SQL, ce qui entraîne des plans d'exécution moins efficaces et des performances plus lentes.
Aucun index utilisé
Nombre total de fois où aucun index n'a été utilisé pour exécuter l'instruction SQL.
Requête
L'instruction SQL normalisée. Il s'agit d'une colonne par défaut qui n'est pas incluse dans la liste des indicateurs. Cliquez sur l'instruction pour afficher les détails SQL.
Tables temporaires
Nombre total de tables temporaires internes, créées en mémoire ou sur disque par l'instruction SQL.
Temps UC total
Temps CPU total consommé par toutes les exécutions d'une instruction SQL spécifique (identifiée par son condensé).
Remarque : pour les systèmes de base de données HeatWave, cet indicateur n'est répertorié que si l'option Surveillance complète a été sélectionnée lors de l'activation de Database Management. Pour obtenir des informations, reportez-vous à Activation de Database Management pour HeatWave.
En outre, pour utiliser cet indicateur pour les systèmes de base de données HeatWave, vous devez exécuter la requête suivante afin d'activer les instruments d'UC :
UPDATE performance_schema.setup_consumers SET ENABLED = 'YES' WHERE NAME = 'events_statements_cpu';
Pour les systèmes de base de données MySQL externes, le type de consommateur
events_statements_cpu
doit être défini surYES
pour utiliser cet indicateur. Pour plus d'informations, reportez-vous à Exécution des tâches prérequises liées au système de base de données MySQL externe.Nombre total d'exécutions
Nombre total d'exécutions de l'instruction SQL.
Nombre total de lignes affectées
Nombre total de lignes modifiées par l'instruction SQL.
Nombre total de lignes examinées
Nombre total de lignes examinées par l'instruction SQL.
Nombre total de lignes envoyées
Nombre total de lignes renvoyées par l'instruction SQL.
Latence totale d'instruction
Temps total nécessaire à toutes les exécutions de l'instruction SQL.
Lors de la vérification des instructions SQL répertoriées par l'indicateur de performances sélectionné, cliquez sur le lien dans la colonne Requête pour examiner une seule instruction SQL intéressante dans le panneau Détails SQL. Le panneau Détails SQL comporte deux onglets :
- Analyseur de requête : dans cet onglet, vous pouvez effectuer les opérations suivantes :
- Utilisez l'ID de synthèse d'instruction pour écrire une requête et obtenir des informations supplémentaires à partir du système de base de données.
- Affichez l'instruction SQL normalisée.
- Surveiller des informations détaillées sur la durée d'exécution, le nombre de lignes et les tables temporaires. Par exemple, vous pouvez surveiller le nombre de lignes examinées ou renvoyées et le nombre de tables temporaires créées.
Pour plus d'informations sur les synthèses d'instruction, reportez-vous à la section Performance Schema Statement Digests and Sampling.
- Expliquer le plan : dans cet onglet, vous pouvez effectuer les opérations suivantes :
- Affichez les détails d'un exemple d'instruction SQL, tels que le moment où elle a été exécutée, le temps nécessaire et l'instruction SQL réelle avec des valeurs littérales qui ont été transmises au moment de l'exécution.
- Surveiller le plan d'exécution généré pour l'instruction SQL, qui fournit des informations précieuses sur la façon dont l'instruction SQL est exécutée. En visualisant la stratégie d'exécution, vous pouvez identifier les goulets d'étranglement de performances, tels que les balayages complets de table (full table scans) ou les jointures inefficaces, et optimiser les instructions.
Par défaut, une représentation graphique de la sortie EXPLAIN est affichée, ce qui facilite la compréhension du plan d'exécution, l'identification des inefficacités et la prise de décisions éclairées pour l'optimisation. Le plan d'exécution graphique affiche le plan d'exécution sous forme d'arborescence, chaque noeud représentant une opération spécifique du processus d'exécution, telle que les balayages de table, les jointures et les tris. Les nœuds sont codés en couleur pour représenter différents types d'opérations, et vous pouvez cliquer sur des nœuds individuels pour plus d'informations sur chaque étape. Lorsque vous affichez le plan d'explication graphique, cliquez sur Effectuer une rotation pour faire pivoter le diagramme dans le sens inverse des aiguilles d'une montre. Vous pouvez également utiliser la molette de la souris, le pavé tactile ou les touches +/- pour effectuer un zoom avant ou arrière sur le diagramme du plan d'explication.
Dans la liste déroulante Option d'affichage, sélectionnez Plan d'explication tabulaire pour afficher le plan d'exécution ou la séquence d'opérations utilisée pour exécuter une instruction sous forme de tableau. Ce tableau fournit la liste des opérations et les détails suivants :
- Nom de la table : nom de la table à laquelle vous accédez pendant l'exécution.
- Type : type de méthode d'accès utilisé pour accéder à la table lors de l'exécution.
- Clé : index utilisé par l'instruction, le cas échéant.
- Réf. : si l'instruction implique une jointure, les colonnes ou constantes comparées à la clé.
- Lignes : nombre estimé ou réel de lignes que l'opération doit traiter ou renvoyer.
- Filtré : pourcentage de lignes devant être filtrées en fonction de la clause
WHERE
. - Coût : coût estimé de l'exécution de l'opération.
Pour personnaliser les informations affichées dans la vue Plan d'explication tabulaire, sélectionnez ou désélectionnez des colonnes dans la liste déroulante Colonnes.
- Analyseur de requête : dans cet onglet, vous pouvez effectuer les opérations suivantes :