Monitorizar e otimizar o desempenho dos gateways de dados no local

Monitoramento de desempenho de gateway (visualização pública)

Para monitorar o desempenho, os administradores de gateway tradicionalmente dependem do monitoramento manual dos contadores de desempenho por meio da ferramenta Monitor de Desempenho do Windows. Agora oferecemos log de consultas adicionais e um arquivo de modelo PBI de desempenho do gateway para visualizar os resultados. Esse recurso fornece novas informações sobre o uso do gateway. Você pode usá-lo para solucionar problemas de consultas de desempenho lento.

Nota

Atualmente, esse recurso está disponível apenas para o gateway de dados local no modo padrão. Não está disponível para o modo pessoal.

Nota

O diagnóstico de gateway não captura diagnósticos diretamente relacionados à máquina (virtual) e sua rede, como largura de banda ou latência. No entanto, esses diagnósticos podem afetar o desempenho do gateway. Você pode usar ferramentas de monitoramento de recursos para monitorar sua máquina.

Registo de desempenho

Esse recurso agora está ativado por padrão.

Nota

  • Atualmente, as consultas da capacidade premium para o gateway às vezes são perdidas nesse registro. Estamos trabalhando ativamente para corrigir esse problema.
  • Atualmente, as consultas de relatório paginado do Power BI não são registradas usando essa ferramenta.

Configurar o log de desempenho

Há outros valores no arquivo C:\Program Files\On-premises data gateway\Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config de configuração que você pode atualizar conforme necessário:

  • ReportFilePath: Determina o caminho onde os quatro arquivos de log são armazenados. Por padrão, esse caminho é \Users\PBIEgwService\AppData\Local\Microsoft\On-premises data gateway\Report ou \Windows\ServiceProfiles\PBIEgwService\AppData\Local\Microsoft\On-premises data gateway\Report. O caminho depende da versão do sistema operacional. Se você usar uma conta de serviço para o gateway diferente de PBIEgwService, substitua essa parte do caminho pelo nome da conta de serviço.
  • ReportFileCount: Determina o número de arquivos de log de cada tipo a serem mantidos. O valor predefinido é 10.
  • ReportFileSizeInBytes: Determina o tamanho do arquivo a ser mantido. O valor padrão é 104.857.600.
  • QueryExecutionAggregationTimeInMinutes: Determina o número de minutos para os quais as informações de execução da consulta são agregadas. O valor padrão é 5.
  • SystemCounterAggregationTimeInMinutes: Determina o número de minutos para os quais o contador do sistema é agregado. O valor padrão é 5.

Depois de fazer as alterações no arquivo de configuração, reinicie o gateway para que esses valores de configuração entrem em vigor. Os arquivos de relatório agora estão sendo gerados no local especificado para ReportFilePath.

Nota

Pode levar até 10 minutos mais a quantidade de tempo definida para QueryExecutionAggregationTimeInMinutes no arquivo de configuração até que os arquivos comecem a aparecer na pasta.

Compreender os logs de desempenho

Quando você ativa esse recurso, quatro novos arquivos de log são criados:

  • O Relatório de Execução de Consulta
  • O Relatório de Início da Consulta
  • O Relatório de Agregação de Execução de Consulta
  • O Relatório de Agregação do Contador do Sistema

O Relatório de Execução de Consulta contém informações detalhadas sobre a execução da consulta. Os atributos a seguir são capturados.

Atributo Description
GatewayObjectId Identificador exclusivo para o gateway.
RequestId Identificador exclusivo para uma solicitação de gateway. Pode ser o mesmo para várias consultas.
DataSource Contém o tipo de fonte de dados e a fonte de dados.
QueryTrackingId Identificador exclusivo de uma consulta. No entanto, pode repetir-se se uma consulta falhar e for repetida.
QueryExecutionEndTimeUTC Hora em que a execução da consulta foi concluída.
QueryExecutionDuration (ms) Duração da execução de uma consulta.
Tipo de consulta Tipo de consulta. Por exemplo, a consulta passada pode ser uma atualização do Power BI ou DirectQuery. Ou podem ser consultas do Power Apps e do Power Automate.
DataProcessingEndTimeUTC Tempo em que as atividades de processamento de dados, como spooling, recuperação de dados, compactação e processamento de dados, foram concluídas.
DataProcessingDuration (ms) Duração das atividades de processamento de dados, como spooling, recuperação de dados, compressão e processamento de dados.
Sucesso Indica se a consulta foi bem-sucedida ou falhou.
Mensagem de erro Se a consulta falhou, indica a mensagem de erro.
SpoolingDiskWritingDuration (ms) Indica a quantidade de tempo pelo gateway para gravar todos os dados no disco
SpoolingDiskReadingDuration (ms) Indica a quantidade de tempo pelo gateway para ler todos os dados em disco
SpoolingTotalDataSize (bytes) Tamanho (compactado) dos dados gravados/lidos do disco
DataReadingAndSerializationDuration (ms) Indica o tempo que o gateway leva para ler dados da fonte de dados e serializá-los em pacotes.
DiskRead (byte/seg) Indica bytes lidos pelo gateway por segundo. DiskRead(byte/seg) = SpoolingTotalDataSize / SpoolingDiskReadingDuration
DiskWrite (byte/seg) Indica bytes gravados pelo gateway por segundo. DiskWrite(byte/seg) = SpoolingTotalDataSize / SpoolingDiskWritingDuration

O Relatório de Início da Consulta contém a consulta e a hora de início da consulta. Os atributos a seguir são capturados.

Nota

O EvaluationContext aparece sem que o log adicional esteja habilitado para fluxos de dados do Power BI e Dataflow Gen2 para usuários somente com licenças Pro. Você ainda precisa de log adicional habilitado para exibir EvaluationContext para fluxos de dados do Power BI para usuários em licenças Premium.

Atributo Description
GatewayObjectId Identificador exclusivo para o gateway.
RequestId Identificador exclusivo para uma solicitação de gateway. Pode ser o mesmo para várias consultas.
DataSource Contém o tipo de fonte de dados e a fonte de dados.
QueryTrackingId Identificador exclusivo de uma consulta. No entanto, pode repetir-se se uma consulta falhar e for repetida.
QueryExecutionStartTimeUTC Hora em que a execução da consulta começou.
Tipo de consulta Tipo de consulta. Por exemplo, a consulta passada pode ser uma atualização do Power BI ou DirectQuery. Ou podem ser consultas do Power Apps e do Power Automate.
QueryText Consulta completa codificada com base64.
AvaliaçãoContexto Contém o artifactId (ou seja, ModelID, DataflowsId) juntamente com dados adicionais dependendo do artefato. Observe que esse campo só é preenchido para fluxos de dados Dataflow Gen2 e Power Platform.

O Relatório de Agregação de Execução de Consulta contém informações de consulta agregadas a um intervalo de tempo por GatewayObjectId, DataSource, Success e QueryType. O valor padrão é 5 minutos, mas você pode ajustá-lo. Os atributos a seguir são capturados.

Atributo Description
GatewayObjectId Identificador exclusivo para o gateway.
AgregaçãoStartTimeUTC Início da janela de tempo para a qual os atributos de consulta foram agregados.
AgregaçãoEndTimeUTC Fim da janela de tempo para a qual os atributos de consulta foram agregados.
DataSource Contém o tipo de fonte de dados e a fonte de dados.
Sucesso Indica se a consulta foi bem-sucedida ou falhou.
AverageQueryExecutionDuration (ms) Tempo médio de execução da consulta para a janela de tempo de agregação.
MaxQueryExecutionDuration (ms) Tempo máximo de execução da consulta para a janela de tempo de agregação.
MinQueryExecutionDuration (ms) Tempo mínimo de execução da consulta para a janela de tempo de agregação.
Tipo de consulta Tipo de consulta. Por exemplo, a consulta passada pode ser uma atualização do Power BI ou DirectQuery. Ou podem ser consultas do Power Apps e do Power Automate.
AverageDataProcessingDuration (ms) Tempo médio para atividades de processamento de dados, como spooling, recuperação de dados, compactação e processamento de dados para a janela de tempo de agregação.
MaxDataProcessingDuration (ms) Tempo máximo para atividades de processamento de dados, como spooling, recuperação de dados, compactação e processamento de dados para a janela de tempo de agregação.
MinDataProcessingDuration (ms) Tempo mínimo para atividades de processamento de dados, como spooling, recuperação de dados, compactação e processamento de dados para a janela de tempo de agregação.
Contagem Número de consultas.

O Relatório de Agregação do Contador do Sistema contém valores do contador do sistema agregados a um intervalo de tempo. O valor padrão é 5 minutos, mas você pode ajustá-lo. Os atributos a seguir são capturados.

Atributo Description
GatewayObjectId Identificador exclusivo para o gateway.
AgregaçãoStartTimeUTC Início da janela de tempo para os contadores do sistema que foram agregados.
AgregaçãoEndTimeUTC Fim da janela de tempo para os contadores do sistema que foram agregados.
Nome do contador Cada contador do sistema se aplica a um servidor que hospeda um nó de gateway e inclui:
• SystemCPUPercent: CPU usada no servidor como uma porcentagem do total de CPU disponível.
• SystemMEMUsedPercent: Memória usada no servidor como uma porcentagem da memória total disponível.
• GatewayCPUPercent: A soma da porcentagem de CPU usada pelo processo de gateway em cada núcleo. Para obter a porcentagem da CPU usada no servidor, divida GatewayCPUPercent pelo número de núcleos.
• GatewayMEMKb: Soma da memória total em kilobytes usada pelo processo de gateway.
Máx. Valor máximo para o contador do sistema para a janela de tempo de agregação.
Min Valor mínimo para o contador do sistema para a janela de tempo de agregação.
Média Valor médio para o contador do sistema para a janela de tempo de agregação.

Visualize o desempenho do gateway

Agora, você pode visualizar os dados que estão nos arquivos de log.

  1. Baixe o modelo PBI de Desempenho de Gateway e abra-o usando o Power BI Desktop.

  2. Na caixa de diálogo que é aberta, verifique se o caminho da pasta corresponde ao valor em ReportFilePath.

    Pop-up for the folder path.

  3. Selecione Carregar e o arquivo de modelo começa a carregar os dados dos seus arquivos de log. Todos os elementos visuais são preenchidos usando os dados nos relatórios.

  4. Opcionalmente, salve esse arquivo como um PBIX e publique-o em seu serviço para atualizações automáticas. Para saber mais, vá para Publicar modelos semânticos e relatórios do Power BI Desktop.

Você também pode personalizar esse arquivo de modelo para atender às suas necessidades. Para obter mais informações sobre modelos do Power BI, vá para esta postagem do blog do Microsoft Power BI.

Monitorando o armazenamento de spool

Por padrão, o armazenamento de spool para o gateway está localizado em C:\Users\PBIEgwService\AppData\Local\Microsoft\On-premises data gateway\Spooler. Certifique-se de monitorar esse local para garantir que haja espaço livre em disco adequado. Para obter mais informações: Dados de spooling de gateway

Monitorando a simultaneidade de membros do gateway

Por padrão, o limite para o número de consultas que podem ser executadas simultaneamente em um nó de gateway é 40. Atingir esse limite geralmente fará com que as consultas de entrada fiquem na fila pendentes para serem executadas por um longo tempo, o que resultará em degradação do desempenho e erros do tipo de tempo limite. Se você suspeitar que um membro do gateway está atingindo esse limite, habilite o registro em log adicional, exporte os logs do gateway, dê uma olhada nos arquivos Mashup*.log , procure por palavras-chave "runningCount" e "pendingCount" e verifique se o "runningCount" geralmente está perto de 40, ou se o "pendingCount" está geralmente acima de zero. Consulte este documento para obter mais detalhes sobre como planejar e dimensionar seu gateway.

Consultas de desempenho lento

Consultas de longa execução podem exigir modificações adicionais na fonte de dados ou otimização adicional da própria consulta. Isso pode ser para atualizações do Power BI ou para consultas diretas de banco de dados, como Power BI DirectQuery, Power Apps ou Azure Logic Apps.

Por padrão, o gateway executa o log básico. Se você estiver investigando consultas de desempenho lento, além de usar o recurso de monitoramento de desempenho, poderá habilitar temporariamente o log adicional para coletar informações de log adicionais, incluindo logs do mecanismo de mashup, cadeias de caracteres de consulta e rastreamento detalhado. Esses logs são gravados no mesmo local que os logs normais do gateway. Para fazer isso, no aplicativo de gateway de>dados local, selecione Diagnóstico Log adicional.

Turn on additional logging.

Habilitar essa configuração provavelmente aumentará significativamente o tamanho do log, com base no uso do gateway. Recomendamos que, depois de concluir a revisão dos logs, desative o log adicional. Não recomendamos deixar essa configuração ativada durante o uso normal do gateway.

Otimize o desempenho transmitindo dados

Por padrão, o gateway de dados local armazena dados antes de retorná-los ao modelo semântico, potencialmente causando um desempenho mais lento durante as operações de carregamento e atualização de dados. O comportamento predefinido pode ser substituído.

  1. No arquivo C:\Program Files\On-Premises data gateway\Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config, defina a configuração StreamBeforeRequestCompletes como True e salve.

    <setting name="StreamBeforeRequestCompletes" serializeAs="String">
       <value>True</value>
    </setting>
    
  2. Em Gateway de dados no local>Definições de Serviço, reinicie o gateway.

Otimize o desempenho excluindo pastas específicas da verificação antivírus

Para evitar possíveis impactos no desempenho, determinadas pastas podem ser excluídas da verificação antivírus quando você usa um software antivírus no nível de arquivo no servidor onde um gateway de dados local está instalado. Se essas pastas não forem excluídas, você poderá observar impactos no desempenho e potencialmente outros comportamentos inesperados, já que essas pastas recebem uma grande quantidade de operações de gravação e são, no núcleo, pipelines de dados do gateway de dados local.

Pastas que podem ter de ser excluídas da verificação antivírus no servidor de gateway de dados local

Nota

A unidade de espaço reservado a seguir representa a letra da unidade na qual o gateway de dados local está instalado. Normalmente, a letra do driver é C. O espaço reservado a seguir ServiceAccount representa a conta de serviço que está executando o gateway de dados local. A conta padrão é PBIEgwService.

  • Diretório de log: Drive:\Windows\ServiceProfiles\ ServiceAccount \AppData\Local\Microsoft\On-premises data gateway
  • Diretório de armazenamento do spool: Drive:\Windows\ServiceProfiles\ ServiceAccount \AppData\Local\Microsoft\On-premises data gateway\Spooler

Próximos passos