Comprendre les métriques de performances des requêtes

L'exploration Métriques de performances des requêtes dans Activité du système fournit une répartition détaillée de chaque requête exécutée à partir de votre instance Looker.

Par exemple, vous pouvez utiliser cette exploration pour identifier les composants d'une requête qui ont mis le plus de temps à se charger. Vous pouvez également utiliser cette exploration pour identifier les tendances et les anomalies des performances des requêtes.

Pour en savoir plus sur les explorations disponibles dans l'activité du système, consultez la page de documentation Créer des rapports d'utilisation Looker avec les explorations d'activité du système.

Afficher les métriques de performances des requêtes

Les métriques de performances des requêtes sont visibles dans l'exploration Métriques de performances des requêtes de l'activité du système. Vous devez être administrateur Looker ou disposer de l'autorisation see_system_activity pour afficher l'exploration Métriques de performances des requêtes.

Comprendre le cycle de vie des requêtes Looker

Chaque requête que Looker envoie à votre base de données passe par plusieurs phases, chacune comportant plusieurs étapes. Chacune de ces étapes est représentée sous la forme d'une dimension dans l'exploration Métriques sur les performances des requêtes.

De manière générale, les phases peuvent être conceptualisées comme suit:

  1. Phase de nœud de calcul asynchrone: tout d'abord, la tâche de requête doit être attribuée à un nœud de calcul asynchrone disponible. Il peut y avoir du temps de file d'attente si aucun worker n'est disponible.
  2. Phase d'initialisation: une fois qu'un worker asynchrone est attribué, l'instance Looker exécute plusieurs étapes d'initialisation pour préparer la requête.
  3. Phase de gestion de la connexion: une fois l'initialisation terminée, l'instance Looker établit une connexion avec la base de données client.
  4. Phase de requête principale: une fois que l'instance Looker a établi une connexion à la base de données client, la requête principale est exécutée sur celle-ci. D'autres requêtes permettant de calculer les résultats, telles que les totals, peuvent également être exécutées en fonction des options choisies pour la requête. Si la requête n'est pas diffusée en flux continu, elles sont chargées en mémoire dans l'instance Looker. Après cela, la connexion de l'instance Looker à la base de données client est fermée.
  5. Phase post-requête: enfin, l'instance Looker exécute plusieurs étapes post-requête pour préparer la requête à sa prochaine destination. À ce stade, le nœud de calcul asynchrone est libéré.

Métriques de performances des requêtes

Les sections suivantes répertorient chaque phase de requête et étape de la requête dans l'ordre chronologique.

Métriques asynchrones par phase de nœud de calcul

Étape de requête Description de la métrique
Queued Temps d'attente d'un nœud de calcul asynchrone pour exécuter une requête, exprimé en secondes.
Async processing Temps passé par un nœud de calcul asynchrone sur la requête, en secondes. Le nœud de calcul continue de travailler sur la requête jusqu'à la fin de la phase post-requête. Cette métrique chevauche donc la plupart des autres métriques de cette page.

Métriques de la phase d'initialisation

Étape de requête Description de la métrique
Model Init: From Cache Temps nécessaire en secondes pour extraire la définition du modèle du cache. Si une valeur nulle est renvoyée, cela signifie que le modèle a été chargé et analysé au lieu d'être extrait du cache. Reportez-vous à l'étape Model Init: Computed.
Model Init: Computed Temps nécessaire pour charger et analyser le modèle nécessaire à l'exécution d'une requête, en secondes. Si une valeur nulle est renvoyée, cela signifie que le modèle a été récupéré à partir du cache au lieu d'être chargé et analysé à partir de zéro. Reportez-vous à l'étape Model Init: From Cache.
Explore Init: From Cache Temps nécessaire, en secondes, pour extraire l'initialisation de l'exploration du cache. Si une valeur nulle est renvoyée, cela signifie que l'exploration a été chargée et analysée, et non extraite du cache. Reportez-vous à l'étape Explore Init: Computed.
Explore Init: Computed Quelques secondes sont nécessaires pour initialiser l'exploration avant de commencer à l'prepare. Si cela renvoie une valeur nulle, cela signifie que l'exploration a été extraite du cache au lieu d'être chargée et analysée à partir de zéro. Reportez-vous à l'étape Explore Init: From Cache.
Prepare Temps nécessaire à la préparation de la requête à partir de la définition de l'exploration, en secondes.

Métriques liées à la phase de gestion des connexions

Étape de requête Description de la métrique
Per User Throttler Durée en secondes d'attente de la requête pour qu'une connexion soit disponible pour que l'utilisateur l'exécute.
Acquire Connection Temps nécessaire à l'instance Looker pour acquérir une connexion à la base de données client, en secondes. Cela inclut le temps de rechercher les identifiants de l'utilisateur, de créer le pool de connexions s'il n'existe pas déjà et d'initialiser la connexion à utiliser.
Connection Held Temps en secondes pendant lequel l'instance Looker maintient une connexion à la base de données client. Cela inclut le temps nécessaire à la base de données client pour exécuter la requête SQL.

Métriques principales des phases de requêtes

Étape de requête Description de la métrique
Cache Load Temps nécessaire, en secondes, pour extraire les résultats bruts du cache de l'ensemble de résultats.
PDTs Temps nécessaire, en secondes, pour créer les tables dérivées persistantes requises pour la requête.
Execute Main Query Temps nécessaire à l'exécution de la requête primary sur la base de données client, en secondes. Cela n'inclut pas le temps nécessaire pour acquérir une connexion sur la base de données client. Ce paramètre n'est pas suivi pour les requêtes nécessitant la fonctionnalité Autoriser un nombre élevé de résultats.
Execute Totals Query Temps nécessaire à l'exécution de la requête pour générer des totaux dans la base de données client, en secondes. S'applique uniquement aux requêtes pour lesquelles les totals sont activés.
Execute Row Totals Query Temps nécessaire à l'exécution de la requête pour générer des totaux de ligne dans la base de données client, en secondes. S'applique uniquement aux requêtes pour lesquelles le nombre total de lignes est activé.
Execute Grand Totals Query Temps nécessaire à l'exécution de la requête pour générer le total général dans la base de données client. S'applique uniquement aux requêtes pour lesquelles les totals et les totaux de lignes sont activés.
Load Process and Stream Main Query Il faut quelques secondes pour charger la requête principale (à partir de la base de données client), la traiter (sur l'instance Looker) et la diffuser (vers le client). S'applique uniquement aux requêtes en flux continu.
Load Main Query In Memory Temps nécessaire en secondes pour charger en mémoire les résultats de la requête principale à partir de la base de données client. S'applique uniquement aux requêtes non diffusées en flux continu.
Load Totals Query In Memory Temps nécessaire en secondes pour charger la requête pour générer les totaux en mémoire. S'applique uniquement aux requêtes non diffusées en flux continu pour lesquelles les totals sont activés.
Load Row Totals Query In Memory Temps nécessaire en secondes pour charger la requête pour générer les totaux des lignes en mémoire. S'applique uniquement aux requêtes non diffusées en flux continu pour lesquelles le total de lignes est activé.
Load Grand Totals Query In Memory Temps nécessaire en secondes pour charger la requête afin de générer le total général en mémoire. S'applique uniquement aux requêtes non diffusées en flux continu pour lesquelles les totals et les totaux de lignes sont activés.

Métriques issues de la phase post-requête

Étape de requête Description de la métrique
Postprocessing Temps nécessaire, en secondes, au post-traitement de la requête. Se produit après la fermeture de la connexion.
Stream to Cache Temps nécessaire en secondes pour traiter et diffuser les résultats dans le cache de rendu.

Métriques BigQuery BI Engine

Si vous utilisez BigQuery BI Engine avec Looker, vous pouvez utiliser l'exploration Métriques de performances des requêtes pour afficher des informations spécifiques à la base de données sur vos requêtes. Les requêtes qui n'utilisent pas BI Engine et celles portant sur des bases de données autres que les bases de données BigQuery renvoient des valeurs nulles pour ces métriques.

Métrique Description de la métrique
BigQuery Job ID ID du job dans BigQuery pour la requête.
BI Engine Mode Indique si la requête a pu s'exécuter partiellement ou complètement. Pour en savoir plus sur les valeurs possibles de ce champ, consultez la présentation de l'interface SQL de BI Engine.
BI Engine Reason Si la requête n'a pas pu être entièrement accélérée, ce champ indique la raison. Ce message provient directement de Google BigQuery.

Résoudre les problèmes liés aux métriques de performances des requêtes

L'analyse des métriques de requête peut vous aider à améliorer les performances de votre instance Looker. Pour commencer, sélectionnez le tableau de bord Recommandations relatives aux performances dans la liste des tableaux de bord Activité du système.