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.
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, datasetid para modelos semânticos, dataflowsId, etc.) juntamente com ids de rastreamento adicionais, dependendo do artefato. Observe que esse campo só é preenchido para cargas de trabalho com suporte no Fabric, Power Platform, Azure Analysis Services e determinados conectores nos Aplicativos Lógicos do Azure. Estes incluem: Modelos Semânticos, Dataflow Gen2 e fluxos de dados da 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 Power BI e Fabric Dataflows Gen 1 e Power BI Paginated Reports. |
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.
Baixe o modelo PBI de Desempenho de Gateway e abra-o usando o Power BI Desktop.
Na caixa de diálogo que é aberta, verifique se o caminho da pasta corresponde ao valor em ReportFilePath.
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.
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
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.
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.
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>
Em Gateway de dados no local>Definições de Serviço, reinicie o gateway.
Nota
Habilitar StreamBeforeRequestCompletes pode causar problemas de confiabilidade de consulta ao usar fontes de dados lentas ou com conexões de rede instáveis/limitadas.
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