Obtenha estatísticas de consultas
Esta página descreve como obter estatísticas de consultas através da
CLI cbt
. Também pode obter estatísticas de consultas através da biblioteca cliente Go para o Cloud Bigtable.
O conteúdo aqui disponibilizado destina-se a programadores de aplicações. Antes de ler esta página, deve compreender o modelo de armazenamento do Bigtable. Também deve conhecer as práticas recomendadas de design de esquemas e compreender o desempenho.
A capacidade de obter informações sobre uma consulta do Bigtable pode ser útil quando está a desenvolver uma aplicação. Permite-lhe obter dados sobre o desempenho de uma consulta e, em seguida, ajustar a consulta ou alterar a estrutura do esquema para otimizar o desempenho da consulta.
Embora, em geral, uma consulta seja qualquer pedido de dados enviado para uma tabela, o Bigtable devolve estatísticas de consultas apenas para pedidos de leitura.
Antes de começar
- Se ainda não instalou a
CLI
cbt
, siga as instruções na vista geral da CLIcbt
incluindo os passos para criar um ficheiro.cbtrc
. - Reveja a secção Ler linhas do
cbt
CLI para se familiarizar com a sintaxe da linha de comandos e as opções disponíveis para enviar um pedidocbt read
para a sua tabela. Tenha em atenção que acbt
CLI não suporta filtros. - Certifique-se de que tem autorização
bigtable.tables.readRows
para a tabela ou que é um principal da funçãobigtable.reader
.
Execute a consulta
Crie uma consulta com a sintaxe para Ler linhas.
Execute o seguinte comando. O parâmetro
include-stats=full
indica ao Bigtable que deve devolver as estatísticas de consulta.cbt read TABLE_ID QUERY include-stats=full
Substitua o seguinte:
TABLE_ID
: o ID exclusivo da tabela que está a consultarQUERY
: uma consulta formatada emcbt
CLI
O terminal apresenta os dados que foram lidos e uma lista com as seguintes estatísticas:
rows_seen_count
: o número de linhas que o Bigtable processou para o pedidorows_returned_count
: o número de linhas devolvidas após a aplicação de filtroscells_seen_count
: o número de células processadas para o pedidocells_returned_count
: o número de células devolvidas após a aplicação de filtrosfrontend_server_latency
: latência do pedido medida a partir do conjunto de servidores front-end do Bigtable, expressa em milissegundos
Interpretação dos resultados
Analise a relação entre as células vistas e as células devolvidas. Se o quociente de
cells_seen_count
/cells_returned_count
for 1 ou próximo de 1, isso é um indício de que a sua consulta não fez com que o Bigtable processasse dados que foram, em última análise, filtrados.Considere o número de linhas devolvidas. Quanto mais elevado for esse número, mais trabalho o Bigtable está a fazer. O número ideal aqui depende do seu exemplo de utilização e dos requisitos de latência, mas, em geral, uma consulta que devolva menos linhas terá uma latência inferior.
Exemplo
Se quiser obter estatísticas de consultas quando lê todas as linhas que correspondem à expressão regular orange:*.*
numa tabela denominada my-table
, pode executar o seguinte:
cbt read my-table regex='.*orange' columns='.*:.*' include-stats=full
O resultado é semelhante ao seguinte:
----------------------------------------
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
O que se segue?
- Identifique as tabelas quentes de um cluster.
- Reveja as práticas recomendadas de design de esquemas.