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 CLIcbtincluindo os passos para criar um ficheiro.cbtrc. - Reveja a secção Ler linhas do
cbtCLI para se familiarizar com a sintaxe da linha de comandos e as opções disponíveis para enviar um pedidocbt readpara a sua tabela. Tenha em atenção que acbtCLI não suporta filtros. - Certifique-se de que tem autorização
bigtable.tables.readRowspara 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=fullindica ao Bigtable que deve devolver as estatísticas de consulta.cbt read TABLE_ID QUERY include-stats=fullSubstitua o seguinte:
TABLE_ID: o ID exclusivo da tabela que está a consultarQUERY: uma consulta formatada emcbtCLI
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_countfor 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.