As tabelas de estatísticas incorporadas para o Spanner ajudam a investigar problemas na sua base de dados. Pode consultar estas tabelas para obter estatísticas sobre consultas, transações e leituras. A lista seguinte resume cada tabela de estatísticas e as informações que oferece:
Estatísticas de consultas
Quando investiga problemas na sua base de dados, é útil saber que consultas são dispendiosas, executadas com frequência ou analisam muitos dados.
As estatísticas de consultas são estatísticas agregadas para consultas (incluindo declarações DML e consultas de fluxo de alterações), recolhidas em intervalos de 1, 10 e 60 minutos. As estatísticas são recolhidas para declarações que foram concluídas com êxito, bem como para as que falharam, expiraram ou foram canceladas pelo utilizador.
As estatísticas incluem a utilização mais elevada da CPU, o total de execuções de consultas, a latência média, a maioria dos dados analisados e estatísticas básicas adicionais de consultas. Use estas estatísticas para ajudar a identificar consultas dispendiosas, executadas com frequência ou com grande volume de dados.
Pode visualizar estas métricas numa série cronológica através dos painéis de controlo de Estatísticas de consultas. Estes painéis de controlo pré-criados ajudam a ver picos na utilização da CPU e a identificar consultas ineficientes.
Consultas ativas mais antigas
Por vezes, 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 execução prolongada que possam estar a ter um impacto no desempenho da base de dados. Esta ferramenta indica quais são as consultas, quando começaram a ser executadas e a que sessão pertencem.
As consultas de stream de alterações não estão incluídas nas consultas ativas mais antigas.
Ler estatísticas
A estatística de leitura pode ser usada para investigar as leituras mais comuns e que consomem mais recursos na sua base de dados através da API Reads do Spanner. Estas estatísticas são recolhidas e armazenadas em 3 intervalos de tempo diferentes: minuto, 10 minutos e uma hora. Para cada intervalo de tempo, o Spanner acompanha as leituras que estão a usar mais recursos.
Use estatísticas de leitura para saber a utilização de recursos combinada por todas as leituras, encontrar as leituras que consomem mais CPU e saber como a frequência de uma leitura específica muda ao longo do tempo.
Estatísticas de transações
As estatísticas de transações podem ser usadas para investigar problemas relacionados com transações. Por exemplo, pode verificar se existem transações de execução lenta que possam estar a causar contenção ou identificar alterações nos formatos de transações que estão a provocar regressões de desempenho. Cada linha contém estatísticas de todas as transações executadas na base de dados durante intervalos de 1, 10 e 60 minutos.
Pode visualizar estas métricas numa série cronológica através do painel de controlo Estatísticas de transações. O painel de controlo pré-criado ajuda a ver as latências nas transações e a identificar transações problemáticas.
Estatísticas de bloqueios
As estatísticas de bloqueio podem ser usadas para investigar conflitos de bloqueio na sua base de dados. Quando usadas com estatísticas de transações, pode encontrar transações que estão a causar conflitos de bloqueio ao tentar adquirir bloqueios nas mesmas células ao mesmo tempo.
Pode visualizar estas métricas numa série cronológica através do painel de controlo Estatísticas de bloqueio. O painel de controlo pré-criado ajuda a ver o tempo de espera do bloqueio e a confirmar se as latências se devem a contestações de bloqueios com um tempo de espera do bloqueio elevado.
Métodos da API incluídos em cada ferramenta
No Spanner, existe alguma sobreposição entre transações, leituras e consultas. Por conseguinte, pode não ser claro que métodos da API estão incluídos quando compila resultados para cada ferramenta de introspeção. A tabela seguinte apresenta os principais métodos da API e a respetiva relação com cada ferramenta.
Métodos da API | Modos de transação | Estatísticas de consultas | Consultas ativas mais antigas | Ler estatísticas | Estatísticas de transações | Estatísticas de bloqueios |
---|---|---|---|---|---|---|
Read, StreamingRead | Transação só de leitura1 | Não | Não | Yes | Não | Não |
Transação de leitura/escrita | Não | Não | Yes | Yes | Yes | |
ExecuteSql, ExecuteStreamingSql | Transação só de leitura1 | Sim2 | Sim2 | Não | Não | Não |
Transação de leitura/escrita | Yes | Yes | Não | Yes | Yes | |
ExecuteBatchDml | Transações de leitura/escrita | Sim3 | Sim4 | Não | Yes | Yes |
Consolidação | Transações de leitura/escrita (DML5, mutações6) | Não | Não | Não | Yes | Yes |
Notas:
1 As transações só de leitura não estão incluídas nas estatísticas de transações nem nas estatísticas de bloqueios. Apenas as transações de leitura/escrita estão incluídas nas estatísticas de transações e nas estatísticas de bloqueios.
2 As consultas executadas com a API PartitionQuery não estão incluídas nas estatísticas de consultas ativas mais antigas.
3 Um lote de declarações DML aparece nas estatísticas de consultas como uma única entrada.
4 As declarações no lote aparecem nas consultas ativas mais antigas, em vez de no lote completo.
5 As operações DML não comprometidas não estão incluídas nas estatísticas de transações.
6 As mutações vazias que não têm efeito não são incluídas nas estatísticas de transações.
Estatísticas de tamanhos de tabelas
Pode usar as Estatísticas de tamanhos das tabelas para monitorizar os tamanhos históricos das tabelas e dos índices na sua base de dados.
Use as estatísticas de tamanhos das tabelas para encontrar tendências nos tamanhos das tabelas, dos índices e das tabelas de streams de alterações. Também pode acompanhar as suas maiores tabelas e índices.
Tenha em atenção que esta funcionalidade fornece apenas uma perspetiva histórica. Não se destina à monitorização em tempo real.
Estatísticas de operações de tabelas
Pode usar as estatísticas de operações de tabelas para fazer o seguinte:
- Monitorize as utilizações das suas tabelas e índices na base de dados.
- Encontre tendências na utilização das suas tabelas e índices.
- Identificar alterações no tráfego.
Além disso, pode correlacionar as alterações no armazenamento de tabelas com as alterações no tráfego de gravação.
Estatísticas de operações de colunas
Pode usar as estatísticas de operações de colunas para fazer o seguinte:
- Monitorize as estatísticas das colunas na tabela.
- Encontre tendências na forma como as colunas da tabela são usadas.
Depure pontos ativos em divisões
Pode depurar pontos críticos na sua base de dados para encontrar divisões na base de dados que estão quentes ou muito quentes, o que significa que uma percentagem elevada do carregamento numa divisão é limitada pelos recursos disponíveis. Pode ver estatísticas das divisões que tiveram as classificações de utilização da CPU mais elevadas nos últimos 6 horas, por intervalos de 1 minuto.