Obtenir des statistiques de requête

Cette page explique comment obtenir des statistiques de requête à 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 de Bigtable. Vous devez également connaître les bonnes pratiques de conception de schémas et comprendre les performances.

La possibilité d'obtenir des informations sur une requête Bigtable peut être 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'en général une requête soit une demande 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 la procédure de création d'un fichier .cbtrc.
  2. Consultez la section Lire les lignes de la documentation de référence sur la CLI cbt pour vous familiariser avec la syntaxe et les options de ligne de commande disponibles pour l'envoi d'une requête cbt read à votre table. Notez que la CLI cbt n'est pas compatible avec 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 pour 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 de 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 de filtres
    • frontend_server_latency: latence de la requête mesurée à partir du pool de serveurs Bigtable de premier plan, exprimée en millisecondes

Interprétation des résultats

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

  • Considérons le nombre de lignes renvoyées. Plus ce nombre est élevé, plus Bigtable effectue de travail. Le nombre optimal ici 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 a 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 ce qui suit:

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