Nesta página, descrevemos como usar o painel de insights de hotspot para detectar hotspots no seu banco de dados do Spanner.
Visão geral dos insights de ponto de acesso
Os pontos de acesso causam latência no banco de dados do Spanner. O painel de insights sobre o uso excessivo dos pontos de acesso ajuda a detectar as divisões afetadas por pontos de acesso. Siga estas etapas para determinar se os hotspots estão causando latência e, em caso afirmativo, como resolver o problema:
- Abra o painel.
- Determine se os pontos de acesso precisam da sua intervenção.
- Identifique divisões quentes problemáticas.
Os insights de hotspot estão disponíveis em configurações de região única, multirregional e birregional.
Preços
Não há custo adicional para os insights de destaque.
Retenção de dados
A retenção máxima de dados para o gráfico e a tabela de insights de hotspot é de 6 horas.
Para a tabela de divisões mais frequentes, os dados são extraídos da tabela
SPANNER_SYS.SPLIT_STATS_TOP_MINUTE
, que tem uma retenção máxima
de 6 horas. Para mais informações, consulte
Retenção de dados.
Funções exigidas
Talvez você precise de diferentes papéis e permissões do IAM, dependendo se você é um usuário do IAM ou de controle de acesso refinado.
Usuário do Identity and Access Management (IAM)
Para receber as permissões necessárias para acessar a página Insights de hotspot, peça ao administrador para conceder a você os seguintes papéis do IAM na instância:
-
Leitor do Cloud Spanner (
roles/spanner.viewer
) -
Leitor de banco de dados do Cloud Spanner (
roles/spanner.databaseReader
)
As seguintes permissões no papel Leitor de banco de dados do Cloud Spanner (
roles/spanner.databaseReader
) são necessárias para acessar a página Insights de hotspot:
spanner.databases.beginReadOnlyTransaction
spanner.databases.select
spanner.sessions.create
Usuário de controle de acesso refinado
Se você usa o controle de acesso refinado, verifique se:
- Ter a função Leitor do Cloud Spanner
(
roles/spanner.viewer
) - Ter privilégios de controle de acesso detalhado e receber a função de sistema
spanner_sys_reader
ou uma das funções de membro dela. - Selecione
spanner_sys_reader
ou uma função de membro como sua função atual do sistema na página Visão geral do banco de dados.
Para mais informações, consulte Visão geral do controle de acesso detalhado e Funções do sistema de controle de acesso detalhado.
Abrir o painel de insights do ponto de acesso
O painel Insights de hotspot mostra a porcentagem de pico de uso de CPU de divisão. Essa métrica é uma porcentagem abstrata de 0 a 100 que reflete a quantidade de CPU usada quando as linhas em uma divisão são acessadas.
Para acessar o painel Insights sobre o uso excessivo dos pontos de acesso de um banco de dados, faça o seguinte:
No console Google Cloud , abra a página Spanner.
Selecione uma instância na lista.
No menu de navegação, clique na guia Insights de pontos de acesso.
No campo banco de dados, selecione uma opção na lista. O painel mostra a pontuação de pico de uso de CPU de divisão para o banco de dados.
As áreas do painel incluem:
- Gráfico Pontuação de pico de uso de CPU de divisão: uma pontuação de uso de CPU mais alta (como perto de 100) indica que a divisão está ativa e provavelmente causando um ponto de acesso no servidor em comparação com pontuações mais baixas.
- Campo "Banco de dados": filtra as informações de divisão dinâmica em um banco de dados específico ou em todos os bancos de dados.
- Filtro de período: filtra o uso da CPU por divisões de pico em incrementos de 1 minuto até um total de 6 horas.
- Tabela de divisão TopN: mostra a lista das principais divisões classificadas por pontuações de uso de CPU de divisão.
Determinar se as áreas de risco precisam de intervenção
Se você notar um pico ou uma elevação no gráfico que corresponda à latência geral e uma pontuação alta e persistente de uso de CPU de divisão de pico, talvez seja necessário investigar mais a fundo.
Analise o gráfico para responder a estas perguntas:
Qual banco de dados está sofrendo a degradação da latência? Selecione diferentes bancos de dados na lista Bancos de dados para encontrar aqueles com a maior latência. Para descobrir qual banco de dados tem a maior carga, revise o gráfico Latência dos bancos de dados no console do Google Cloud .
A latência está alta? A latência está alta em comparação com a latência esperada para a carga de trabalho? O gráfico está piscando ou aumentando ao longo do tempo? Se você não notar uma latência alta, os hotspots não são um problema.
A pontuação de pico de uso de CPU de divisão está em 100%? O gráfico está piscando ou aumentando ao longo do tempo? Se você não encontrar porcentagens de uso da CPU divididas em pico de 100% persistentes por pelo menos 10 minutos, talvez os hotspots não sejam um problema. Se a porcentagem de uso da CPU de pico dividido for alta por mais de 10 minutos, investigue mais para saber se o banco de dados tem níveis de latência mais altos do que o esperado.
Se você notar porcentagens de uso da CPU de pico de 100% por mais de 10 minutos, talvez seja necessário intervir nos pontos de acesso. Em seguida, continue a jornada de depuração identificando as divisões ativas no seu banco de dados.
Identificar divisões dinâmicas problemáticas
Para identificar uma divisão potencialmente problemática que tenha pontos de acesso, consulte a seção TopN splits no console Google Cloud , conforme mostrado abaixo.
A tabela Divisões TopN oferece uma visão geral das divisões que podem estar em alta durante o período escolhido, ordenadas da mais recente à mais antiga. O número de divisões TopN é limitado a 100.
Para os gráficos, o Spanner busca dados da tabela de estatísticas de divisões TopN com uma granularidade de um minuto. O valor de cada ponto de dados nos gráficos representa o valor médio em um intervalo de um minuto.
A tabela mostra as seguintes propriedades:
- Fim do intervalo: a data e a hora em que o pico de uso da CPU termina.
- Início da divisão: a chave inicial do intervalo de linhas na divisão. Se o início da divisão for <begin>, isso indica o início do intervalo de chaves do banco de dados.
- Limite de divisão: a chave de limite do intervalo de linhas na divisão. Se a chave de limite for <end>, isso indica o fim do intervalo de chaves do banco de dados.
- Pontuação de uso de CPU de divisão: uma pontuação abstrata entre 0 e 100 que reflete a quantidade de CPU usada por acessos às linhas na divisão em um único servidor. Use essa pontuação para avaliar se você tem pontos de acesso com excesso de uso.
- Tabelas afetadas: as tabelas com linhas que podem estar na divisão.
A seguir
- Saiba mais sobre as estatísticas de divisão de pontos de acesso.