Ottieni statistiche sulle query

Questa pagina descrive come ottenere le statistiche sulle query utilizzando l'interfaccia a riga di comando cbt. Puoi anche ottenere le statistiche sulle query utilizzando la libreria client Go per Cloud Bigtable.

I contenuti qui forniti sono destinati agli sviluppatori di applicazioni. Prima di leggere questa pagina, è importante comprendere il modello di archiviazione di Bigtable. Dovresti anche acquisire familiarità con le best practice per la progettazione di schemi e comprendere le prestazioni.

La possibilità di ottenere informazioni su una query Bigtable può essere utile durante lo sviluppo di un'applicazione. Consente di ottenere dati sulle prestazioni di una query, quindi di modificare la query o di modificare la progettazione dello schema per perfezionare le prestazioni della query.

Sebbene in generale una query sia una richiesta di dati inviata a una tabella, Bigtable restituisce statistiche sulle query solo per le richieste di lettura.

Prima di iniziare

  1. Se non hai già installato l'interfaccia a riga di comando cbt, segui le istruzioni nella panoramica dell'interfaccia a riga di comando cbt, inclusi i passaggi per creare un file .cbtrc.
  2. Consulta la sezione Leggi le righe del riferimento dell'interfaccia a riga di comando cbt per acquisire familiarità con la sintassi della riga di comando e le opzioni disponibili per inviare una richiesta cbt read alla tua tabella. Tieni presente che l'interfaccia a riga di comando cbt non supporta i filtri.
  3. Assicurati di disporre dell'autorizzazione bigtable.tables.readRows per la tabella o di essere un'entità del ruolo bigtable.reader.

Eseguire la query

  1. Crea una query utilizzando la sintassi per Leggi righe.

  2. Esegui questo comando. Il parametro include-stats=full indica a Bigtable di restituire le statistiche sulle query.

    cbt read TABLE_ID QUERY include-stats=full
    

    Sostituisci quanto segue:

    • TABLE_ID: l'ID univoco della tabella su cui stai eseguendo la query
    • QUERY: una query in formato cbt con interfaccia a riga di comando

    Il terminale visualizza i dati letti e un elenco contenente le seguenti statistiche:

    • rows_seen_count: il numero di righe elaborate da Bigtable per la richiesta
    • rows_returned_count: il numero di righe restituite dopo l'applicazione dei filtri
    • cells_seen_count: il numero di celle elaborate per la richiesta
    • cells_returned_count: il numero di celle restituite dopo l'applicazione dei filtri
    • frontend_server_latency: latenza delle richieste misurata dal pool di server front-end di Bigtable, espressa in millisecondi

Interpretazione dei risultati

  • Osserva il rapporto tra le celle visualizzate e le celle restituite. Se il quoziente per cells_seen_count / cells_returned_count è 1 o vicino a 1, questa è un'indicazione che la tua query non ha causato l'elaborazione di dati da parte di Bigtable che alla fine sono stati filtrati.

  • Considera il numero di righe restituite. Più elevato è questo numero, maggiore è il lavoro svolto da Bigtable. Il numero ottimale in questo caso dipende dal caso d'uso e dai requisiti di latenza, ma in generale, una query che restituisce meno righe avrà una latenza inferiore.

Esempio

Se vuoi ottenere statistiche sulle query quando leggi tutte le righe che corrispondono all'espressione regolare orange:*.* in una tabella denominata my-table, puoi eseguire quanto segue:

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

L'output è simile al seguente:

  ----------------------------------------
  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

Passaggi successivi