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
- Si vous n'avez pas encore installé la CLI
cbt
, suivez les instructions de la présentation de la CLIcbt
, y compris la procédure de création d'un fichier.cbtrc
. - 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êtecbt read
à votre table. Notez que la CLIcbt
n'est pas compatible avec les filtres. - Assurez-vous de disposer de l'autorisation
bigtable.tables.readRows
pour la table ou d'être un compte principal du rôlebigtable.reader
.
Exécuter votre requête
Créez une requête à l'aide de la syntaxe pour Lire les lignes.
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 CLIcbt
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êterows_returned_count
: nombre de lignes renvoyées après l'application de filtrescells_seen_count
: nombre de cellules traitées pour la requêtecells_returned_count
: nombre de cellules renvoyées après l'application de filtresfrontend_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
- Identifiez les tablets suractives d'un cluster.
- Consultez les bonnes pratiques de conception de schémas.