As ferramentas de introspecção para o Spanner permitem investigar problemas com seu banco de dados. Elas consistem em um conjunto de tabelas integradas que podem ser consultadas para receber mais insights sobre consultas, transações, leituras e muito mais. Não sabe qual ferramenta usar para um problema específico? Veja na lista a seguir um resumo de cada ferramenta e os tipos de pergunta que elas podem ajudar a responder.
Estatísticas de consulta
Ao investigar problemas no banco de dados, é útil saber quais consultas são caras, executar com frequência ou verificar muitos dados.
As estatísticas de consulta são estatísticas agregadas para consultas. (incluindo instruções DML e fluxo de alterações ), reunidos em intervalos de 1, 10 e 60 minutos. As estatísticas são coletadas para instruções que foram concluídas com sucesso, bem como para aquelas que falharam, expiraram ou foram canceladas pelo usuário.
As estatísticas incluem o maior uso de CPU, contagem total de execuções de consulta, latência média, a maioria dos dados verificados e estatísticas básicas adicionais de consulta. Use essas estatísticas para ajudar a identificar consultas caras, frequentemente executadas ou com muitos dados.
É possível visualizar essas métricas em uma série temporal usando o Query Insights. painéis. Esses painéis pré-criados ajudam você a visualizar picos no uso da CPU e identificar consultas ineficientes.
Consultas ativas mais antigas
Às vezes, você quer analisar a carga de trabalho atual no sistema examinando as consultas em execução. Use a ferramenta Consultas ativas mais antigas para investigar consultas de longa duração que podem ter impacto sobre o desempenho do banco de dados. Essa ferramenta informa quais são as consultas, quando elas começaram a ser executadas e a qual sessão elas pertencem.
As consultas de fluxo de alterações não são incluídas nas consultas ativas mais antigas.
Ler estatísticas
As estatísticas de leitura podem ser usadas para investigar as leituras mais comuns e que consomem mais recursos no banco de dados usando a API Reads do Spanner. Essas estatísticas são coletadas e armazenadas em 3 intervalos de tempo diferentes - minuto, 10 minutos e uma hora. Para cada intervalo de tempo, o Spanner rastreia as leituras que estão usando a maioria dos recursos.
Use as estatísticas de leitura para descobrir o uso combinado de recursos por todas as leituras, encontrar a maioria das leituras de CPU e descobrir como a frequência de uma leitura específica muda ao longo do tempo.
Estatísticas de transação
As estatísticas de transação podem ser usadas para investigar problemas relacionados à transação. Por exemplo, verifique transações de execução lenta que podem estar causando contenção ou identificar mudanças nas formas de transação que estão levando a regressões de desempenho. Cada linha contém estatísticas de todas as transações executadas no banco de dados durante intervalos de 1, 10 e 60 minutos.
É possível visualizar essas métricas em uma série temporal usando o painel Insights de transações. O painel pré-criado ajuda você a conferir as latências nas transações e identificar transações problemáticas.
Estatísticas de bloqueio
As estatísticas de bloqueio podem ser usadas para investigar conflitos de bloqueio no seu banco de dados. Usadas com estatísticas de transações, é possível encontrar transações que causam conflitos de bloqueio ao adquirir bloqueios nas mesmas células ao mesmo tempo.
É possível visualizar essas métricas em uma série temporal usando o painel Bloquear insights. O painel pré-criado ajuda a conferir o tempo de espera de bloqueio e confirmar se as latências são devido a contenções de bloqueio com tempo de espera de bloqueio alto.
Métodos de API incluídos em cada ferramenta
No Spanner, há algumas sobreposições entre transações, leituras e consultas. Portanto, pode não ficar claro quais métodos de API são incluídos ao compilar os resultados de cada ferramenta de introspecção. A tabela a seguir lista os principais métodos de API e a relação deles com cada ferramenta.
Métodos de API | Modos de transação | Estatísticas de consulta | Consultas ativas mais antigas | Como gerenciar réplicas de leitura | Estatísticas de transação | Estatísticas de bloqueio |
---|---|---|---|---|---|---|
Ler em StreamingRead | Transação somente de leitura1 | Não | Não | Sim | Não | Não |
Transação de leitura/gravação | Não | Não | Sim | Sim | Sim | |
ExecuteSql, ExecuteStreamingSql | Transação somente de leitura1 | Sim2 | Sim2 | Não | Não | Não |
Transação de leitura/gravação | Sim | Sim | Não | Sim | Sim | |
ExecuteBatchDml | Transações de leitura e gravação | Sim3 | Sim4 | Não | Sim | Sim |
Confirmação | Transações de leitura e gravação (DML5, Mutações6) | Não | Não | Não | Sim | Sim |
Observações:
1 As transações somente leitura não estão incluídas nas estatísticas de transações ou de bloqueio. Somente transações de leitura e gravação estão incluídas nas estatísticas de transações e estatísticas de bloqueio.
2 As consultas executadas com a API PartitionQuery não são incluídas nas estatísticas de consulta ou nas consultas ativas mais antigas.
3 Um lote de instruções DML aparece nas estatísticas da consulta como um entrada única.
4 As instruções no lote aparecerão nas consultas ativas mais antigas, e não em todo o lote.
5 Operações DML não confirmadas não estão incluídas na transação estatísticas.
6 As mutações vazias que são efetivamente autônomas não são incluídas nas estatísticas da transação.
Estatísticas de tamanhos de tabelas
Use as Estatísticas de tamanhos de tabela para monitorar os tamanhos históricos das tabelas e índices no seu banco de dados.
Use as estatísticas de tamanhos de tabela para encontrar tendências nos tamanhos de tabelas, índices e tabelas de fluxo de alterações. Você também pode acompanhar seus maiores tabelas e índices.
Esse recurso fornece apenas uma perspectiva histórica. Não é para monitoramento em tempo real.
Estatísticas de operações de tabela
É possível usar as estatísticas de operações de tabela para fazer o seguinte:
- Monitore o uso de tabelas e índices no banco de dados.
- Encontre tendências no uso de tabelas e índices.
- Identificar mudanças no tráfego.
Além disso, você pode correlacionar as alterações em seu armazenamento de tabelas com as alterações em tráfego de gravação.
Depurar pontos de acesso em divisões
É possível depurar pontos de acesso no banco de dados para encontrar divisões quentes ou quentes no banco de dados, ou seja, uma alta porcentagem da carga em uma divisão é limitada pelos recursos disponíveis. Você podem acessar as estatísticas das divisões com as maiores pontuações de uso de CPU ao longo nas últimas 6 horas, em intervalos de 1 minuto.