Share via


Depurar usando o diagrama de trabalho físico (versão prévia) no portal do Azure

O diagrama de trabalho físico no portal do Azure pode ajudá-lo a visualizar as principais métricas do trabalho com o nó de streaming no formato de diagrama ou tabela, por exemplo: utilização da CPU, utilização de memória, Eventos de entrada, IDs de partição e Atraso de marca d'água. Ele ajuda você a identificar a causa de um problema ao solucionar problemas.

Este artigo demonstra como usar o diagrama de trabalho físico para analisar o desempenho de um trabalho e identificar rapidamente seu gargalo no portal do Azure.

Importante

Esse recurso está em VERSÃO PRÉVIA no momento. Veja os Termos de Uso Complementares para Versões Prévias do Microsoft Azure para obter termos legais que se aplicam aos recursos do Azure que estão em versão beta, versão prévia ou que, de outra forma, ainda não foram lançados em disponibilidade geral.

Identificar o paralelismo de um trabalho

O trabalho com paralelização é o cenário escalonável no Stream Analytics que pode fornecer o melhor desempenho. Se um trabalho não estiver no modo paralelo, ele provavelmente terá certo gargalo para seu desempenho. É importante identificar se um trabalho está no modo paralelo ou não. O diagrama de trabalho físico fornece um grafo visual para ilustrar o paralelismo do trabalho. No diagrama de trabalho físico, se houver interação de dados entre diferentes nós de streaming, esse trabalho será um trabalho não paralelo que precisa de mais atenção. Por exemplo, o diagrama de trabalho não paralelo abaixo:

Captura de tela que mostra o trabalho não paralelo no diagrama físico.

Você poderá considerar otimizá-lo para um trabalho paralelo (como o exemplo abaixo) reescrevendo a consulta ou atualizando as configurações de entrada/saída com o simulador de diagrama de trabalho no editor de consultas ou na extensão do Visual Studio Code ASA no portal do Azure. Para saber mais, consulte Otimizar consulta usando o simulador de diagrama de trabalho (versão prévia).

Captura de tela que mostra a exibição de distorção de dados com diagrama físico.

Principais métricas para identificar o gargalo de um trabalho paralelo

O atraso de marca d'água e os eventos de entrada com lista de pendências são as principais métricas para determinar o desempenho do trabalho do Stream Analytics. Se o atraso de marca d'água do trabalho está aumentando continuamente e os eventos de entrada têm uma lista de pendências, seu trabalho não consegue acompanhar a taxa de eventos de entrada e produzir saídas em tempo hábil. Do ponto de vista do recurso de computação, os recursos de CPU e memória são utilizados em alto nível quando esse caso acontece.

O diagrama de trabalho físico visualiza as principais métricas em conjunto no diagrama para fornecer um panorama completo para fácil identificação do gargalo.

Captura de tela que mostra as principais métricas em um nó no diagrama físico.

Para obter mais informações sobre a definição de métricas, consulte a Dimensão de nome do nó do Azure Stream Analytics.

Identificar os eventos de entrada distribuídos desigualmente (distorção de dados)

Quando você tiver um trabalho já em execução no modo paralelo, mas observar um atraso de marca d'água alta, use esse método para determinar o motivo.

Para localizar a causa raiz, abra o diagrama de trabalho físico no portal do Azure. Selecione Diagrama de trabalho (versão prévia) em Monitoramento e alterne para o Diagrama físico.

Captura de tela que mostra a exibição de distorção de dados com diagrama físico.

No diagrama físico, é possível identificar facilmente se todas as partições têm um atraso de marca d'água alta ou apenas algumas delas exibindo o valor de atraso da marca d'água em cada nó ou escolhendo a configuração do mapa de calor de atraso da marca d'água para classificar os nós de streaming (recomendado):

Captura de tela que mostra a configuração do mapa de calor de atraso da marca d'água.

Após aplicar as configurações de mapa de calor acima, você obterá os nós de streaming com atraso de marca d'água alta no canto superior esquerdo. Em seguida, você pode verificar se os nós de streaming correspondentes estão tendo mais eventos de entrada significativos do que outros. Para este exemplo, streamingnode#0 e streamingnode#1 estão tendo mais eventos de entrada.

Captura de tela que mostra a exibição de distorção de dados com diagrama físico no mapa de calor de atraso da marca d'água.

Você pode verificar ainda quantas partições são alocadas para os nós de streaming individualmente para descobrir se mais eventos de entrada são causados por mais partições alocadas ou uma partição específica com mais eventos de entrada. Neste exemplo, todos os nós de streaming possuem duas partições. Isso significa que streamingnode#0 e streamingnode#1 têm uma partição específica que contém mais eventos de entrada do que outras partições.

Para localizar qual partição tem mais eventos de entrada do que outras partições no streamingnode#0 e streamingnode#1, siga as seguintes etapas:

  • Selecionar Adicionar gráfico na seção gráfico
  • Adicionar Eventos de entrada em métrica e ID de partição em divisor
  • Selecione Aplicar para destacar o gráfico de eventos de entrada
  • Marque streamingnode#0 e streamingnode#1 no diagrama

Você verá o gráfico abaixo com a métrica de eventos de entrada filtrada pelas partições nos dois nós de streaming.

Captura de tela que mostra os eventos de entrada divididos por partição e nó.

Qual outra ação você pode executar?

Conforme mostrado no exemplo, as partições (0 e 1) têm mais dados de entrada do que outras partições. Isso é chamado de distorção de dados. Os nós de streaming que estão processando as partições com distorção de dados precisam consumir mais recursos de CPU e memória do que outros. Esse desequilíbrio gera um desempenho mais lento e aumenta o atraso da marca d'água. Também é possível verificar o uso de CPU e memória nos dois nós de streaming no diagrama físico. Para atenuar o problema, reparticione seus dados de entrada de maneira mais uniforme.

Identificar a causa da CPU ou memória sobrecarregada

Quando um trabalho paralelo tem um atraso crescente da marca d'água sem a situação de distorção de dados mencionada anteriormente, ele pode ser causado por uma quantidade significativa de dados em todos os nós de streaming que inibem o desempenho. É possível identificar que o trabalho tem essa característica usando o diagrama físico.

  1. Abra o diagrama do trabalho físico, acesse o trabalho no portal do Azure em Monitoramento, selecione Diagrama de trabalho (versão prévia) e altere para Diagrama físico. O carregamento do diagrama físico será exibido como mostrado abaixo.

    Captura de tela que mostra a visão geral do trabalho de CPU e memória sobrecarregados.

  2. Verifique a utilização de CPU e memória em cada nó de streaming para ver se ela está muito alta em todos os nós de streaming. Se a utilização de CPU e SU for alta (superior a 80 porcento) em todos os nós de streaming, isso significa que o trabalho tem uma grande quantidade de dados sendo processados em cada nó de streaming.

    No caso acima, a utilização da CPU está em torno de 90% e a utilização de memória já é de 100%. Ele mostra que cada nó de streaming está ficando sem recursos para processar os dados.

    Captura de tela que mostra a CPU e a memória sobrecarregadas em todos os nós.

  3. Verifique quantas partições são alocadas em cada nó de streaming para que você possa decidir se precisa de mais nós de streaming para equilibrar as partições e reduzir a carga de nós de streaming existentes.

    Nesse caso, cada nó de streaming tem quatro partições alocadas, o que parece muito para um nó de streaming.

Qual outra ação você pode executar?

Considere reduzir a contagem de partição de cada nó de streaming para reduzir os dados de entrada. Você pode dobrar as SUs alocadas em cada nó de streaming para duas partições por nó aumentando a contagem de nós de streaming de 8 para 16. Ou você pode quadruplicar as SUs para que cada nó de streaming identifique dados de uma partição.

Para saber mais sobre a relação entre o nó de streaming e a unidade de streaming, consulte Noções básicas sobre a unidade de streaming e o nó de streaming.

O que fazer se o atraso de marca d'água ainda estiver aumentando após modificar um nó de streaming para manipular os dados de uma única partição? Reparticione a entrada com mais partições para reduzir a quantidade de dados em cada uma delas. Para obter detalhes, consulte Usar o reparticionamento para otimizar trabalhos do Azure Stream Analytics.

Próximas etapas