Obtener estadísticas de consultas

En esta página se describe cómo obtener estadísticas de consultas mediante la CLI de cbt. También puedes obtener estadísticas de consultas con la biblioteca de cliente de Go para Cloud Bigtable.

El contenido que se proporciona aquí está dirigido a desarrolladores de aplicaciones. Antes de leer esta página, debes conocer el modelo de almacenamiento de Bigtable. También debes conocer las prácticas recomendadas para el diseño de esquemas y comprender el rendimiento.

La posibilidad de obtener información sobre una consulta de Bigtable puede ser útil cuando desarrollas una aplicación. Te permite obtener datos sobre el rendimiento de una consulta y, a continuación, ajustar la consulta o cambiar el diseño del esquema para optimizar el rendimiento de la consulta.

Aunque, por lo general, una consulta es cualquier solicitud de datos enviada a una tabla, Bigtable devuelve estadísticas de consultas solo para las solicitudes de lectura.

Antes de empezar

  1. Si aún no has instalado la cbtCLI , sigue las instrucciones de la cbtCLI overview incluidos los pasos para crear un archivo .cbtrc.
  2. Consulta la sección Leer filas de la referencia de la cbt CLI para familiarizarte con la sintaxis de la línea de comandos y las opciones disponibles para enviar una solicitud cbt read a tu tabla. Ten en cuenta que la cbtCLI no admite filtros.
  3. Asegúrate de que tienes permiso bigtable.tables.readRows para la tabla o de que eres un principal del rol bigtable.reader.

Ejecutar la consulta

  1. Crea una consulta con la sintaxis de Read rows (Leer filas).

  2. Ejecuta el siguiente comando: El parámetro include-stats=full indica a Bigtable que devuelva las estadísticas de la consulta.

    cbt read TABLE_ID QUERY include-stats=full
    

    Haz los cambios siguientes:

    • TABLE_ID: el ID único de la tabla que estás consultando
    • QUERY: una consulta con formato de CLIcbt

    En el terminal se muestran los datos que se han leído y una lista con las siguientes estadísticas:

    • rows_seen_count: el número de filas que Bigtable ha procesado para la solicitud.
    • rows_returned_count: número de filas devueltas después de aplicar filtros
    • cells_seen_count: número de celdas procesadas en la solicitud
    • cells_returned_count: número de celdas devueltas después de aplicar filtros.
    • frontend_server_latency: latencia de la solicitud medida desde el grupo de servidores frontend de Bigtable, expresada en milisegundos.

Interpretación de los resultados

  • Consulta la proporción de celdas vistas con respecto a las celdas devueltas. Si el cociente de cells_seen_count / cells_returned_count es 1 o un valor cercano a 1, significa que la consulta no ha provocado que Bigtable procese datos que se han filtrado.

  • Ten en cuenta el número de filas devueltas. Cuanto mayor sea ese número, más trabajo realizará Bigtable. El número óptimo depende de tu caso práctico y de los requisitos de latencia, pero, en general, una consulta que devuelva menos filas tendrá una latencia menor.

Ejemplo

Si quiere obtener estadísticas de consultas al leer todas las filas que coincidan con la expresión regular orange:*.* en una tabla llamada my-table, puede ejecutar lo siguiente:

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

El resultado debería ser similar al siguiente:

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

Siguientes pasos