Paramètres d'administration – Requêtes

La page Requêtes de la section Base de données du menu Admin liste les informations sur les 50 dernières requêtes que Looker a envoyées à votre base de données. Pour en savoir plus sur les requêtes antérieures aux 50 dernières, consultez la section Utilisation de Looker.

Informations de base sur les requêtes

Colonne Définition
Heure Heure de début de la requête, affichée dans le fuseau horaire de votre application.
État État de la requête, qui peut inclure les éléments suivants :
  • Cache : Looker a renvoyé les résultats à partir de son cache au lieu d'exécuter une requête en double sur la base de données.
  • Terminé : la requête a été exécutée.
  • Erreur : la requête n'a pas été exécutée, car une erreur s'est produite. Pour en savoir plus, cliquez sur le bouton "Détails".
  • Annulé : la requête a été annulée par Looker ou par l'utilisateur.
  • En attente d'une table PDT : la requête doit attendre la création d'une table dérivée persistante avant de pouvoir être exécutée.
  • Création d'une table PDT : une table dérivée persistante est en cours de création.
  • En file d'attente : la requête est en attente d'exécution, car trop de requêtes sont déjà en cours (les requêtes peuvent être limitées par Looker dans votre configuration de connexion ou votre base de données).
  • En cours d'exécution : la requête est en cours d'exécution.
  • Inconnu : Looker n'a pas pu déterminer ce qui s'est passé avec cette requête.
Connexion Connexion Looker sous laquelle cette requête a été exécutée.
Utilisateur Utilisateur qui a exécuté cette requête, si cela peut être déterminé. Certaines requêtes ne sont pas exécutées par un utilisateur spécifique, par exemple lorsque Looker crée une table dérivée persistante ou lorsqu'un utilisateur inconnu accède à une présentation publique.
Source Source de la requête dans Looker, par exemple la page "Exploration" ou l'exécuteur SQL. Si possible, un lien vers la présentation enregistrée ou l'ID de la requête, ainsi que le nom du modèle et de l'exploration, s'affichent également. Certaines requêtes ne comportent pas d'informations supplémentaires, comme celles qui sont exécutées dans l'exécuteur SQL. Les requêtes émises à partir de l'interface SQL ouverte ont la valeur Sql_interface pour la Source.
Environnement d'exécution Temps nécessaire à l'exécution de la requête. Cela inclut la construction de la requête, le temps passé dans la file d'attente, le transit vers et depuis la base de données, ainsi que l'exécution de la requête dans la base de données.

Si la requête est en cours d'exécution, l'environnement d'exécution indique depuis combien de temps elle est en cours d'exécution. Pour les requêtes exécutées précédemment, l'environnement d'exécution affiche également une estimation du temps nécessaire à l'exécution de la requête. L'estimation est basée sur la durée de la dernière exécution de la requête et indique par exemple "environ 2 secondes".
Bouton "Détails" Pour en savoir plus, consultez la sous-section "Bouton "Détails"" sur cette page.

Bouton "Détails"

Cliquez sur le bouton Détails à droite d'une requête pour afficher des informations supplémentaires sur cette requête. Le menu Détails de la requête comprend les éléments suivants :

  • Une section Informations qui inclut des détails sur la requête (voir le tableau suivant).
  • Une section SQL qui affiche le code SQL brut exécuté sur la base de données. Les commentaires contextuels ne s'affichent pas dans les informations Détails de la requête. Pour éviter que les commentaires n'affectent la mise en cache des requêtes, Looker ajoute les commentaires contextuels aux commandes SQL sortantes juste avant l'envoi du code SQL à la base de données.
  • Une section Requête d'interface SQL qui s'affiche lorsqu'une requête a été émise via l'interface SQL ouverte. Cette section affiche la requête SQL envoyée à Looker à partir de l'outil de BI externe et peut vous aider à résoudre les problèmes et à les reproduire.
  • Un lien Ouvrir dans l'exécuteur SQL qui ouvre la requête dans l'exécuteur SQL.

La section Informations inclut les informations suivantes :

Section Définition
ID de l'historique L'ID de l'historique de la requête, le cas échéant.
État État de la requête, comme décrit dans le tableau d'informations de base sur les requêtes.
Message Si la requête contient une table PDT, le commentaire de génération de la table PDT s'affiche dans ce champ. Si la requête ne contient pas de table PDT, le champ ne s'affiche pas.
Connexion Connexion Looker sous laquelle cette requête a été exécutée.
Utilisateur Utilisateur qui a exécuté cette requête, si cela peut être déterminé. Certaines requêtes ne sont pas exécutées par un utilisateur spécifique, par exemple lorsque Looker crée une table dérivée persistante ou lorsqu'un utilisateur inconnu accède à une présentation publique.
Source Source de la requête dans Looker, par exemple la page Exploration ou l'exécuteur SQL. Si possible, des informations supplémentaires s'affichent, telles qu'un lien vers la présentation enregistrée, l'ID de la requête, le nom du modèle, le nom de l'exploration ou les champs sélectionnés.
Heure de début Heure de début de la requête, affichée dans le fuseau horaire de votre application.
Heure de fin Heure de fin de la requête, affichée dans le fuseau horaire de votre application.
Environnement d'exécution Temps nécessaire à l'exécution de la requête.

Arrêt des requêtes

Pour les dialectes qui prennent en charge l'arrêt des requêtes, Looker peut arrêter une requête en cours de deux manières :

Pour que Looker puisse arrêter les requêtes, soit en fermant l'onglet du navigateur dans lequel une requête est en cours d'exécution, soit en arrêtant la requête sur la page Requêtes , votre dialecte de base de données doit prendre en charge l'arrêt des requêtes. Le tableau suivant indique les dialectes qui prennent en charge l'arrêt des requêtes dans la dernière version de Looker :

Dialecte Compatibilité
Actian Avalanche
Amazon Athena
Amazon Aurora MySQL
Amazon Redshift
Amazon Redshift 2.1+
Amazon Redshift Serverless 2.1+
Apache Druid
Apache Druid 0.13.x - 0.17.x
Apache Druid 0.18+
Apache Hive 2.3+
Apache Hive 3.1.2+
Apache Spark 3+
ClickHouse
Cloudera Impala 3.1+
Cloudera Impala 3.1+ with Native Driver
Cloudera Impala with Native Driver
DataVirtuality
Databricks
Denodo 7
Denodo 8 & 9
Dremio
Dremio 11+
Exasol
Google BigQuery Legacy SQL
Google BigQuery Standard SQL
Google Cloud AlloyDB for PostgreSQL
Google Cloud PostgreSQL
Google Cloud SQL
Google Spanner
Greenplum
HyperSQL
IBM Netezza
MariaDB
Microsoft Azure PostgreSQL
Microsoft Azure SQL Database
Microsoft Azure Synapse Analytics
Microsoft SQL Server 2008+
Microsoft SQL Server 2012+
Microsoft SQL Server 2016
Microsoft SQL Server 2017+
MongoBI
MySQL
MySQL 8.0.12+
Oracle
Oracle ADWC
PostgreSQL 9.5+
PostgreSQL pre-9.5
PrestoDB
PrestoSQL
SAP HANA
SAP HANA 2+
SingleStore
SingleStore 7+
Snowflake
Teradata
Trino
Vector
Vertica

Délais avant expiration et mise en file d'attente des requêtes

Looker arrête les requêtes qui sont en attente dans la file d'attente depuis trop longtemps. Cette opération est appelée délai avant expiration. Plusieurs délais avant expiration peuvent s'appliquer à votre requête :

  • Délai avant expiration du pool de connexions et nombre maximal de requêtes simultanées : pour éviter de surcharger votre base de données avec des requêtes simultanées, Looker conserve les requêtes simultanées excédentaires dans la file d'attente des requêtes Looker et arrête les requêtes qui restent trop longtemps dans la file d'attente. Par défaut, 75 requêtes simultanées au maximum sont autorisées par connexion. Les requêtes supplémentaires au-delà de la limite de connexion expireront après 0 seconde. Pour modifier ces valeurs par défaut, configurez les paramètres Nombre maximal de connexions, Nombre maximal de requêtes simultanées pour cette connexion et Délai avant expiration du pool de connexions sur la page Paramètres de connexion d'une connexion.

  • Limite de requêtes et délai avant expiration par utilisateur : pour éviter qu'un seul utilisateur ne remplisse la file d'attente des requêtes Looker, chaque utilisateur dispose d'un nombre maximal de requêtes simultanées autorisées et d'un délai avant expiration de la file d'attente correspondant pour les requêtes mises en file d'attente en raison de la limite de requêtes simultanées. La limite par utilisateur s'applique à la fois aux utilisateurs qui se connectent à Looker à l'aide du processus d'authentification standard et à ceux qui se connectent à l'aide d'identifiants d'utilisateur API. Vous pouvez définir le nombre maximal de requêtes simultanées par utilisateur pour les connexions de votre instance Looker de deux manières :

    • L'option de démarrage per-user-query-limit. Il s'agit d'un paramètre à l'échelle de l'instance qui définit la valeur par défaut pour les connexions de votre instance. L'option de démarrage per-user-query-limit limite le nombre de requêtes simultanées par utilisateur, par connexion et par nœud sur l'instance Looker. La valeur maximale par défaut de 15 requêtes simultanées par utilisateur s'applique à chaque connexion valide et, si votre instance Looker est en cluster, à chaque nœud du cluster. Par défaut, chaque utilisateur peut exécuter un maximum de 15 requêtes simultanées par connexion et par nœud, avec un délai avant expiration de 600 secondes. Par exemple, si vous disposez d'un cluster à cinq nœuds avec une valeur per-user-query-limit de 15, chaque nœud autorise 15 requêtes simultanées par utilisateur pour cette connexion, soit un total de 75 requêtes sur tous les nœuds (15 * 5 = 75).

    Vous pouvez modifier la limite de requêtes par utilisateur pour une connexion à l'aide du paramètre Nombre maximal de requêtes simultanées par utilisateur pour cette connexion sur la page Paramètres de connexion de la connexion. Si votre instance Looker est hébergée par le client, vous pouvez modifier le nombre maximal par défaut de requêtes simultanées par utilisateur en configurant l'option de démarrage --per-user-query-limit, et vous pouvez configurer le délai avant expiration de la file d'attente à l'aide de l'option de démarrage --per-user-query-timeout.

    • Option Nombre maximal de requêtes simultanées par utilisateur pour cette connexion dans les Paramètres de connexion d'une connexion. Le paramètre Nombre maximal de requêtes simultanées par utilisateur pour cette connexion a une valeur par défaut de 25 et s'applique par utilisateur et par connexion, mais pas par nœud. Par exemple, si vous disposez d'un cluster à cinq nœuds et que vous définissez cette valeur sur 15, chaque nœud autorise trois requêtes simultanées par utilisateur pour cette connexion (15 / 5 = 3), soit un total de 15 requêtes sur tous les nœuds. Pour une connexion, si une valeur est fournie pour le paramètre Nombre maximal de requêtes simultanées par utilisateur pour cette connexion, la valeur Nombre maximal de requêtes simultanées par utilisateur pour cette connexion remplace l'option de démarrage per-user-query-limit pour la connexion.
  • Limite de requêtes et délai avant expiration du planificateur : pour éviter de surcharger le processus du planificateur Looker, une instance Looker peut exécuter un maximum de 10 requêtes programmées simultanées, et le délai avant expiration des requêtes dans la file d'attente du planificateur est de 1 200 secondes. Si votre instance Looker est hébergée par le client, vous pouvez modifier ces valeurs par défaut en configurant les --scheduler-query-limit et --scheduler-query-timeout options de démarrage.

  • Limite de requêtes et délai avant expiration du moteur de rendu : pour éviter de surcharger le processus du moteur de rendu Looker, une instance Looker peut afficher un maximum de deux téléchargements simultanés basés sur des images, tels que les formats PDF et PNG. Si votre instance Looker est hébergée par le client, vous pouvez modifier cette valeur par défaut en configurant l'--concurrent-render-jobs option de démarrage.

  • Délai avant expiration du webhook : Looker tente d'envoyer des données à un webhook pendant 30 minutes au maximum. Si Looker ne parvient pas à communiquer avec la destination du webhook dans les 30 minutes, la requête expire. Ce délai avant expiration n'est pas configurable.
    • Délai avant expiration du proxy : les instances hébergées par le client utilisent souvent des proxys avec un délai avant expiration par défaut de 60 secondes. Nous vous recommandons de porter ce délai à 60 minutes. Pour en savoir plus, consultez le post de la communauté Looker Exécuter Looker derrière un serveur proxy ou un équilibreur de charge.

    • Délai avant expiration de la base de données : la plupart des bases de données disposent de règles de mise en file d'attente et de délais avant expiration qui sont indépendants des files d'attente et des délais avant expiration de Looker. Par exemple, une requête peut avoir quitté la file d'attente Looker, mais elle peut toujours être mise en file d'attente sur votre base de données. Pour en savoir plus sur la personnalisation des délais avant expiration des requêtes de base de données, consultez la documentation de votre base de données.