Padrões do mapa térmico

Esta página mostra exemplos de padrões que pode ver num mapa de calor do Key Visualizer. Estes padrões podem ajudar a resolver problemas de desempenho específicos.

Alguns problemas expostos no Key Visualizer estão relacionados com a definição da chave principal. Uma vez que uma chave primária é imutável, é melhor descobrir estes problemas durante a fase de design ou de prova de conceito.

Outros problemas podem estar relacionados com a atribuição de nós da sua instância. Pode ter de disponibilizar capacidade adicional, no geral ou possivelmente a determinadas horas do dia. Para alterar o número de nós associados à sua instância, consulte o artigo Alterar o número de nós.

Antes de ler esta página, deve conhecer a vista geral do Key Visualizer.

Leituras e escritas distribuídas uniformemente

Exemplo de mapa térmico que mostra áreas de calor e frio distribuídas uniformemente

Se um mapa de calor mostrar uma mistura detalhada de cores escuras e claras, as leituras e as escritas estão distribuídas uniformemente por toda a base de dados. Este mapa de calor representa um padrão de utilização eficaz para o Spanner, pelo que não tem de tomar qualquer medida.

O seu próprio mapa térmico pode não estar tão uniformemente distribuído como este, mas ainda ilustra um esquema e uma carga de trabalho saudáveis. Pode esperar um determinado número de pontos críticos numa configuração com recursos adequados.

Chaves que aumentam monotonicamente

Mapa de calor de exemplo que mostra uma banda quente diagonal (a cair da esquerda para a direita)

Um mapa de calor com uma única linha diagonal brilhante ou um triângulo com um topo plano pode indicar uma base de dados que usa chaves sequenciais. As chaves sequenciais são um padrão indesejável no Spanner. Consulte a página Práticas recomendadas de criação de esquemas para saber por que motivo as chaves sequenciais causam pontos ativos.

Intervalos de teclas persistentemente quentes

Exemplo de mapa térmico que mostra várias faixas horizontais quentes

Se um mapa de calor mostrar faixas horizontais de cores brilhantes, separadas por cores escuras, indica que intervalos de linhas específicos estão a ser acedidos de forma consistente ao longo do tempo.

Para resolver este problema, considere alterar a estrutura do esquema ou a sua aplicação para que os dados numa linha muito usada ou numa linha excessivamente grande sejam distribuídos por várias linhas.

Mesa quente única

Exemplo de um mapa térmico que mostra uma única banda horizontal quente

Se um mapa de calor mostrar uma faixa de cor brilhante numa única tabela, indica um acesso intenso a essa tabela ao longo do tempo.

Este padrão, por si só, não é necessariamente problemático. Se vir este padrão em combinação com problemas de desempenho, é provável que esteja a ficar sem capacidade de computação. Alguns aspetos a considerar:

  • A sua aplicação pode estar a pedir uma análise completa da tabela, que é apresentada no Key Visualizer como uma faixa brilhante de toda a tabela. Em alternativa, considere fazer uma consulta mais restritiva ou fazer a consulta no índice para reduzir o número de linhas analisadas.

  • Aumente o número de nós para esta instância.

Leituras e escritas itinerantes ao longo do tempo

Exemplo de mapa de calor que mostra faixas quentes diagonais (a subir da esquerda para a direita)

Um mapa de calor que mostra várias linhas diagonais brilhantes (a subir ou a descer) indica normalmente leituras ou escritas sequenciais em linhas num curto período de tempo.

Se as linhas corresponderem à atividade de leitura, como uma exportação de tabela, não é necessária nenhuma ação. Se estiver a ter problemas de desempenho durante estas leituras, considere aumentar o número de nós para a sua instância durante estes períodos. Pode diminuir o número de nós entre períodos.

Se as linhas corresponderem à atividade de escrita e estiver a ter problemas de desempenho, deve considerar alterar a sua carga de trabalho para uma escrita aleatória em vez de uma escrita sequencial.

Aumento súbito do tráfego

Exemplo de mapa térmico que mostra duas faixas horizontais quentes que começam a meio do mapa térmico

Um mapa de calor que mostra faixas horizontais brilhantes que aparecem a meio do mapa de calor indicam uma alteração súbita no padrão de utilização de uma base de dados. Pode ser uma consulta indevida ou um aumento inesperado na atividade de determinadas linhas.

Advertências

Existem alguns cenários em que o Key Visualizer pode não apresentar uma imagem completa do desempenho e da utilização de recursos.

Cenário O que o mapa térmico mostra
Uma tabela de dados grande e algumas tabelas pequenas O visualizador de chaves seleciona mais intervalos de linhas em tabelas grandes do que em tabelas mais pequenas. Como resultado, uma pequena tabela pode aparecer apenas como um intervalo de uma única linha no mapa térmico. Vai existir um intervalo de linhas que representa cada tabela,desde que o número de tabelas seja inferior a 1000. Quando uma chave ou um pequeno intervalo de chaves estão ativos numa pequena tabela, o utilizador pode apenas saber que esta tabela está ativa, mas não mais nada.
Muitas tabelas / índices
Por exemplo, uma base de dados com centenas ou mais de mil tabelas, independentemente do tamanho.
O visualizador de chaves seleciona, no máximo, 1000 intervalos de linhas. Quando existem muitas tabelas e índices, alguns deles podem ter apenas zero ou um ponto de dados no mapa térmico. Por conseguinte, podem faltar pontos de interesse devido ao facto de a respetiva tabela ter sido ignorada ou reduzida.
Alterar rapidamente as teclas As alterações rápidas no espaço de chaves resultam em alterações frequentes nos intervalos de linhas. Quando um intervalo de linhas anterior tem de ser dividido devido a chaves inseridas recentemente ou quando vários intervalos de linhas são unidos devido a chaves eliminadas, as métricas são aproximadas (por exemplo, divididas/combinadas). A aproximação composta dos valores das métricas torna-os provavelmente menos precisos. Além disso, existe um atraso na atualização dos intervalos de linhas após alterações no espaço de chaves, o que pode resultar numa perda de detalhe até que os intervalos de linhas sejam atualizados.

O que se segue?