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
- Si vous n'avez pas encore installé la CLI
cbt
, suivez les instructions de la présentation de la CLIcbt
, y compris les étapes pour créer un fichier.cbtrc
. - 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êtecbt read
à votre table. Notez que la CLIcbt
ne prend pas en charge 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 Read rows (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 interrogezQUERY
: 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 des filtrescells_seen_count
: nombre de cellules traitées pour la requêtecells_returned_count
: nombre de cellules renvoyées après l'application des filtresfrontend_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
- Identifier les tablets très sollicités d'un cluster
- Consultez les bonnes pratiques de conception de schémas.