Monitorar e otimizar o desempenho do gateway de dados local

Monitoramento do desempenho do gateway (versão prévia pública)

Para monitorar o desempenho, os administradores do gateway costumavam depender do monitoramento manual dos contadores de desempenho por meio da ferramenta Monitor de Desempenho do Windows. Agora oferecemos registro em log de consulta adicional e um arquivo de modelo PBI de Desempenho de Gateway para exibir os resultados. Esse recurso fornece novos insights sobre o uso do gateway. Você pode usá-lo para solucionar problemas em consultas com desempenho lento.

Observação

No momento, esse recurso está disponível apenas para o gateway de dados local no modo padrão. Ele não está disponível para o modo pessoal.

Observação

O diagnóstico de gateway não captura diagnósticos diretamente relacionados ao computador (virtual) e à respectiva 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 o computador.

O relatório de diagnóstico do Power BI.

Log de desempenho

Esse recurso agora está ativado por padrão.

Observação

  • No momento, as consultas da capacidade Premium ao gateway às vezes são perdidas neste registro em log. Estamos trabalhando ativamente para corrigir esse problema.
  • No momento, 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 de configuração C:\Program Files\On-premises data gateway\Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config que você pode atualizar conforme o necessário:

  • ReportFilePath: determina o caminho em que 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 que não seja a 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 retidos. O valor padrão é 10.
  • ReportFileSizeInBytes: determina o tamanho do arquivo a ser mantido. O valor padrão é 104.857.600.
  • QueryExecutionAggregationTimeInMinutes: determina o número de minutos em que as informações de execução da consulta devem ser agregadas. O valor padrão é 5.
  • SystemCounterAggregationTimeInMinutes: determina o número de minutos em que 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. Agora os arquivos de relatório estão sendo gerados no local especificado para ReportFilePath.

Observação

Podem ser necessários até dez minutos mais o tempo definido em QueryExecutionAggregationTimeInMinutes no arquivo de configuração para que os arquivos comecem a aparecer na pasta.

Entender 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 de 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 Descrição
GatewayObjectId Identificador exclusivo do gateway.
RequestId Identificador exclusivo de uma solicitação de gateway. Pode ser o mesmo para várias consultas.
DataSource Contém a fonte de dados e seu tipo.
QueryTrackingId Identificador exclusivo de uma consulta. No entanto, ele poderá ser repetido se uma consulta falhar e houver uma repetição.
QueryExecutionEndTimeUTC Hora em que a execução da consulta foi concluída.
QueryExecutionDuration (ms) Duração de uma execução de consulta.
QueryType 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 Hora em que as atividades de processamento de dados, como spool, recuperação de dados, compactação e processamento de dados, são concluídas.
DataProcessingDuration (ms) Duração das atividades de processamento de dados, como spool, recuperação de dados, compactação e processamento de dados.
Êxito Indica se a consulta foi bem-sucedida ou falhou.
ErrorMessage Se a consulta falhar, indicará a mensagem de erro.
SpoolingDiskWritingDuration (ms) Indica o tempo necessário para que o gateway grave todos os dados no disco
SpoolingDiskReadingDuration (ms) Indica o tempo necessário para que o gateway leia todos os dados no disco
SpoolingTotalDataSize (bytes) Tamanho (compactado) dos dados gravados/lidos no disco
DataReadingAndSerializationDuration (ms) Indica o tempo necessário para que o gateway leia os dados da fonte de dados e serialize-os em pacotes.
DiskRead (byte/s) Indica os bytes lidos pelo gateway por segundo. DiskRead(byte/sec) = SpoolingTotalDataSize / SpoolingDiskReadingDuration
DiskWrite (byte/s) Indica os bytes gravados pelo gateway por segundo. DiskWrite(byte/sec) = SpoolingTotalDataSize / SpoolingDiskWritingDuration

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

Atributo Descrição
GatewayObjectId Identificador exclusivo do gateway.
RequestId Identificador exclusivo de uma solicitação de gateway. Pode ser o mesmo para várias consultas.
DataSource Contém a fonte de dados e seu tipo.
QueryTrackingId Identificador exclusivo de uma consulta. No entanto, ele poderá ser repetido se uma consulta falhar e houver uma repetição.
QueryExecutionStartTimeUTC Hora em que a execução da consulta começou.
QueryType 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 em base64.
EvaluationContext Contém a artifactId (ou seja, datasetid para modelos semânticos, dataflowsId etc.) junto com IDs de rastreamento adicionais, dependendo do artefato. Observe que esse campo só é preenchido para cargas de trabalho com suporte no Fabric, no Power Platform, no Azure Analysis Services e em determinados conectores nos Aplicativos Lógicos do Azure. Estes incluem: modelos semânticos, fluxos de dados Gen2 e fluxos de dados do Power Platform. Ele também inclui cargas de trabalho dos Aplicativos Lógicos do Azure para os conectores Mashup Query, HTTP e File Azure. O valor conterá diferentes IDs de rastreamento, dependendo da carga de trabalho usada. Não há suporte para os relatórios paginados do Power BI e do Fabric Dataflows Gen1 e Power BI.

O Relatório de agregação de execução de consulta contém informações de consulta agregadas em 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 Descrição
GatewayObjectId Identificador exclusivo do gateway.
AggregationStartTimeUTC Início da janela de tempo na qual os atributos da consulta foram agregados.
AggregationEndTimeUTC Término da janela de tempo na qual os atributos da consulta foram agregados.
DataSource Contém a fonte de dados e seu tipo.
Êxito Indica se a consulta foi bem-sucedida ou falhou.
AverageQueryExecutionDuration (ms) Tempo médio de execução da consulta da janela de tempo de agregação.
MaxQueryExecutionDuration (ms) Tempo máximo de execução da consulta da janela de tempo de agregação.
MinQueryExecutionDuration (ms) Tempo mínimo de execução da consulta da janela de tempo de agregação.
QueryType 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 das atividades de processamento de dados, como spool, recuperação de dados, compactação e processamento de dados da janela de tempo de agregação.
MaxDataProcessingDuration (ms) Tempo máximo das atividades de processamento de dados, como spool, recuperação de dados, compactação e processamento de dados da janela de tempo de agregação.
MinDataProcessingDuration (ms) Tempo mínimo das atividades de processamento de dados, como spool, recuperação de dados, compactação e processamento de dados da janela de tempo de agregação.
Count Número de consultas.

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

Atributo Descrição
GatewayObjectId Identificador exclusivo do gateway.
AggregationStartTimeUTC Início da janela de tempo dos contadores do sistema que foram agregados.
AggregationEndTimeUTC Final da janela de tempo dos contadores do sistema que foram agregados.
CounterName Os contadores do sistema se aplicam a um servidor que está hospedando um nó de gateway e incluem:
SystemCPUPercent: CPU usada no servidor como uma porcentagem do total de CPU disponível.
SystemMEMUsedPercent: memória usada no servidor como um percentual da memória total disponível.
GatewayCPUPercent: a soma da porcentagem da CPU usada pelo processo de gateway em cada núcleo. Para obter a porcentagem da CPU usada no servidor, divida o GatewayCPUPercent pelo número de núcleos.
GatewayMEMKb: soma da memória total em quilobytes usados pelo processo de gateway.
Max Valor máximo do contador do sistema da janela de tempo de agregação.
Min Valor mínimo do contador do sistema da janela de tempo de agregação.
Média Valor médio do contador do sistema da janela de tempo de agregação.

Visualizar o desempenho do gateway

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

  1. Baixe o Modelo PBI de desempenho do gateway e abra-o usando o Power BI Desktop.

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

    Pop-up do caminho da pasta.

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

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

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

Monitoramento do armazenamento de spool

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

Consultas com desempenho lento

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

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

Ativar o log adicional.

Habilitar essa configuração provavelmente aumentará o tamanho do log de maneira significativa, com base no uso do gateway. Recomendamos que, depois de concluir a revisão dos logs, você desabilite o registro em log adicional. Não recomendamos deixar essa configuração habilitada durante o uso normal do gateway.

Otimizar o desempenho por streaming de dados

Por padrão, o gateway de dados local executa spool dos dados antes de devolvê-los ao modelo semântico, potencialmente causando um desempenho mais lento durante as operações de carregamento e atualização de dados. O comportamento padrão 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-a.

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

Observação

Habilitar StreamBeforeRequestCompletes pode causar problemas de confiabilidade de consulta ao usar fontes de dados lentas ou com conexões de rede instáveis/limitadas.

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

Para evitar possíveis impactos de desempenho, determinadas pastas podem ser excluídas da verificação de antivírus quando você usa um software antivírus no nível de arquivo no servidor em que um gateway de dados local está instalado. Se essas pastas não forem excluídas, você poderá observar os impactos de desempenho e, potencialmente, outros comportamentos inesperados, pois 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 precisar ser excluídas da verificação antivírus no servidor de gateway de dados local

Observação

A unidade do titular do local a seguir representa a letra da unidade na qual o gateway de dados local está instalado. Normalmente, a letra do driver é C. O ServiceAccount do titular do local a seguir 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óximas etapas