Obtenir des statistiques de requête

Cette page explique comment obtenir des statistiques sur les requêtes à l'aide de la CLI cbt. Vous pouvez également obtenir des statistiques sur les requêtes à l'aide de la bibliothèque cliente Go pour Cloud Bigtable.

Le contenu fourni ici est destiné aux développeurs d'applications. Avant de lire cette page, vous devez comprendre le modèle de stockage Bigtable. Vous devez également connaître les bonnes pratiques liées à la conception de schémas et comprendre les performances.

La possibilité d'obtenir des informations sur une requête Bigtable peut s'avérer utile lorsque vous développez une application. Cela vous permet d'obtenir des données sur les performances d'une requête, puis d'ajuster la requête ou de modifier la conception de votre schéma pour ajuster ses performances.

Bien qu'une requête soit généralement une requête de données envoyée à une table, Bigtable ne renvoie des statistiques de requête que pour les requêtes de lecture.

Avant de commencer

  1. Si vous n'avez pas encore installé la CLI cbt, suivez les instructions de la présentation de la CLI cbt, y compris les étapes pour créer un fichier .cbtrc.
  2. Consultez la section Read rows (Lire les lignes) de la documentation de référence de la CLI cbt pour vous familiariser avec la syntaxe de la ligne de commande et les options disponibles pour envoyer une requête cbt read à votre table. Notez que la CLI cbt ne prend pas en charge les filtres.
  3. Assurez-vous de disposer de l'autorisation bigtable.tables.readRows pour la table ou d'être un compte principal du rôle bigtable.reader.

Exécuter votre requête

  1. Créez une requête à l'aide de la syntaxe Read rows (Lire les lignes).

  2. Exécutez la commande suivante : Le paramètre include-stats=full indique à Bigtable de renvoyer les statistiques de requête.

    cbt read TABLE_ID QUERY include-stats=full
    

    Remplacez les éléments suivants :

    • TABLE_ID: ID unique de la table que vous interrogez
    • QUERY: requête au format de la CLI cbt

    Le terminal affiche les données lues et une liste contenant les statistiques suivantes:

    • rows_seen_count: nombre de lignes traitées par Bigtable pour la requête
    • rows_returned_count: nombre de lignes renvoyées après l'application des filtres
    • cells_seen_count: nombre de cellules traitées pour la requête
    • cells_returned_count: nombre de cellules renvoyées après l'application des filtres
    • frontend_server_latency: latence des requêtes mesurée à partir du pool de serveurs frontaux Bigtable, exprimée en millisecondes

Interprétation des résultats

  • Examinez le rapport entre le nombre de cellules vues et les cellules renvoyées. Si le quotient de cells_seen_count / cells_returned_count est égal à 1 ou proche de 1, cela signifie que votre requête n'a pas amené Bigtable à traiter des données qui ont finalement été filtrées.

  • Tenez compte du nombre de lignes renvoyées. Plus ce nombre est élevé, plus Bigtable effectue de tâches. Le nombre optimal dépend de votre cas d'utilisation et de vos exigences de latence, mais en général, une requête qui renvoie moins de lignes aura une latence plus faible.

Exemple

Si vous souhaitez obtenir des statistiques sur les requêtes lorsque vous lisez toutes les lignes correspondant à l'expression régulière orange:*.* dans une table appelée my-table, vous pouvez exécuter la commande suivante:

cbt read my-table regex='.*orange' columns='.*:.*' include-stats=full

Le résultat ressemble à ce qui suit :

  ----------------------------------------
  orange
    Details:Color                            @ 2022/09/26-14:48:01.286000
      "orange"
    Details:Size                             @ 2022/09/26-14:48:01.286000
      "medium"

  Request Stats
  ====================
  rows_seen_count: 10
  rows_returned_count : 1
  cells_seen_count: 2
  cells_returned_count: 2
  frontend_server_latency: 13ms

Étapes suivantes