Visualizzare le statistiche sulle query

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

I contenuti forniti qui sono destinati agli sviluppatori di applicazioni. Prima di leggere questa pagina, devi conoscere il modello di archiviazione Bigtable. Inoltre, dovresti conoscere le best practice per la progettazione dello schema e comprendere il rendimento.

La possibilità di ottenere informazioni su una query Bigtable può essere utile quando sviluppi un'applicazione. Ti consente di ottenere dati sul rendimento di una query, quindi di modificarla o di modificare il design dello schema per perfezionarne il rendimento.

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

Prima di iniziare

  1. Se non hai ancora installato l'interfaccia a riga di comando cbt, segui le istruzioni riportate nella panoramica dell'interfaccia a riga di comando cbt, inclusi i passaggi per creare un file .cbtrc.
  2. Consulta la sezione Leggi righe del riferimento all'interfaccia a riga di comando cbt per familiarizzare con la sintassi della riga di comando e le opzioni disponibili per l'invio di una richiesta cbt read alla tabella. Tieni presente che la cbtCLI 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.

Esegui 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 delle 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 formattata in cbt CLI

    Il terminale mostra 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 di filtri
    • frontend_server_latency: latenza della richiesta misurata dal pool di server front-end Bigtable, espressa in millisecondi

Interpreta i risultati

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

  • Tieni conto del numero di righe restituite. Più elevato è questo numero, maggiore è il lavoro svolto da Bigtable. Il numero ottimale dipende dal tuo 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 le statistiche delle 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