Guia de otimização para o Power BI

Este artigo fornece diretrizes que permitem a desenvolvedores e administradores produzir e manter soluções otimizadas do Power BI. Você pode otimizar sua solução em diferentes camadas de arquitetura. As camadas incluem:

  • As fontes de dados
  • O modelo de dados
  • Visualizações, incluindo dashboards, relatórios do Power BI e relatórios paginados do Power BI
  • O ambiente, incluindo capacidades, gateways de dados e a rede

Otimizar modelos de dados

O modelo de dados dá suporte à experiência inteira de visualização. Os modelos de dados são hospedados no ecossistema do Power BI ou externamente (usando DirectQuery ou Conexão Dinâmica) e, no Power BI, eles são chamados de modelos semânticosantes conhecidos como conjuntos de dados. É importante entender suas opções e escolher o tipo apropriado de modelo semântico para sua solução. Há três modos de modelo semântico: Importação, DirectQuery e Composição. Para obter mais informações, consulte modelos semânticos no serviço do Power BI e modos de modelo semântico no serviço do Power BI.

Para obter diretrizes específicas do modo de modelo semântico, consulte:

Otimizar visualizações

As visualizações do Power BI, incluindo dashboards, relatórios do Power BI e relatórios paginados do Power BI. Cada uma tem diferentes arquiteturas e, portanto, suas próprias diretrizes.

Dashboards

É importante entender que o Power BI mantém um cache para os blocos de dashboard, exceto para blocos de relatório em tempo real e blocos de streaming. Caso seu modelo semântico imponha a Segurança em Nível de Linha (RLS) dinâmica, entenda as implicações para o desempenho, pois os blocos serão armazenados em cache por usuário.

Quando você fixa blocos de relatório em tempo real em um painel, eles não são alimentados a partir do cache de consulta. Em vez disso, eles se comportam como relatórios e consultam os núcleos virtuais em tempo real.

Como o nome sugere, a recuperação de dados do cache proporciona um desempenho melhor e mais consistente do que confiar na fonte de dados. Uma maneira de aproveitar essa funcionalidade é ter painéis como a primeira página de aterrissagem para seus usuários. Fixe os visuais usados com frequência e altamente solicitados aos dashboards. Dessa forma, os dashboards se tornam uma valiosa "primeira linha de defesa", que oferece um desempenho consistente sem sobrecarregar a capacidade. Os usuários ainda podem clicar no relatório para analisar os detalhes.

Para modelos semânticos de conexão dinâmica e do DirectQuery, o cache é atualizado periodicamente ao consultar a fonte de dados. Por padrão, a atualização ocorre a cada hora, embora você possa configurar uma frequência diferente nas configurações do modelo semântico. Cada atualização de cache envia as consultas à fonte de dados subjacente para atualizar o cache. O número de consultas geradas depende do número de visuais fixados nos dashboards que dependem dessa fonte de dados. Observe que se a segurança em nível de linha estiver habilitada, as consultas serão geradas para cada contexto de segurança diferente. Por exemplo, considere que haja duas funções diferentes que categorizem os usuários, com duas exibições diferentes dos dados. Durante a atualização do cache de consulta, o Power BI gera dois conjuntos de consultas.

Relatórios do Power BI

Existem várias recomendações para otimizar os designs de relatórios do Power BI.

Observação

Quando os relatórios são baseados em um modelo semântico do DirectQuery, para obter otimizações adicionais de design de relatório, consulte Orientações do modelo DirectQuery no Power BI Desktop (Otimizar designs de relatório).

Aplicar os filtros mais restritivos

Quanto mais dados um visual precisar exibir, mais lentamente esse visual será carregado. Embora esse princípio pareça óbvio, é fácil esquecer. Por exemplo: suponha que você tenha um modelo semântico grande. Com base nesse modelo semântico, você cria um relatório com uma tabela. Os usuários finais usam segmentações na página para obter as linhas que desejam e, normalmente, só estão interessados em algumas dezenas de linhas.

Um erro comum é deixar o modo de exibição padrão da tabela sem filtro, ou seja, exibindo todas as mais de 100 milhões de linhas. Os dados dessas linhas são carregados na memória e descompactados a cada atualização. Esse processamento cria grandes demandas para a memória. A solução é usar o filtro "Os N principais" para reduzir o número máximo de itens que a tabela exibe. É possível definir o item máximo como maior do que o que usuários precisam, por exemplo, 10 mil. O resultado é que a experiência do usuário final não muda, mas o uso da memória cai muito. E o mais importante é que o desempenho melhora.

Uma abordagem de design semelhante à acima é recomendável para todos os visuais em seus relatórios. Pergunte-se: todos os dados neste visual são necessários? Existem maneiras de filtrar a quantidade de dados mostrados no visual com impacto mínimo na experiência do usuário final? Lembre-se de que as tabelas podem ser particularmente caras.

Limitar visuais em páginas do relatório

O princípio acima aplica-se igualmente ao número de elementos visuais adicionados a uma página de relatório. Recomendamos limitar o número de elementos visuais de determinada página de relatório apenas ao que é necessário. Detalhamento de páginas e Dicas de ferramentas de página de relatório são ótimas maneiras de fornecer detalhes adicionais sem aglomerar mais visuais na página.

Avaliar o desempenho do visual personalizado

Coloque cada visual personalizado em execução para garantir alto desempenho. Visuais do Power BI otimizados de maneira precária podem afetar negativamente o desempenho de todo o relatório.

Relatórios paginados no Power BI

É possível otimizar os designs de relatórios paginados do Power BI ao aplicar no design a prática recomendada para a recuperação de dados do relatório. Para obter mais informações, confira Diretrizes de recuperação de dados para relatórios paginados.

Além disso, garanta que sua capacidade tenha memória suficiente alocada para a carga de trabalho dos relatórios paginados.

Otimizar o ambiente

É possível otimizar o ambiente do Power BI definindo as configurações de capacidade, dimensionando gateways de dados e reduzindo a latência da rede.

Configurações de capacidade

Ao usar capacidades do Power BI, disponíveis em licenças do Power BI Premium (SKUs P), PPU (Premium por usuário) ou do Power BI Embedded (SKUs A, bem como de A4 a A6), será possível gerenciar configurações de capacidade. Para obter mais informações, confira Gerenciar capacidades Premium.

Dimensionamento de gateway

O gateway é necessário sempre que o Power BI precisa acessar dados que não estejam diretamente acessíveis pela Internet. Você pode instalar um gateway de dados local em um servidor local ou em uma IaaS (infraestrutura como serviço) hospedada em uma VM.

Para entender as recomendações de dimensionamento e cargas de trabalho de gateways, confira Dimensionamento de gateway de dados local.

Latência da rede

A latência de rede pode afetar o desempenho do relatório, aumentando o tempo necessário para que as solicitações acessem o serviço do Power BI e para que as respostas sejam entregues. Locatários no Power BI são atribuídos a uma região específica.

Dica

Para determinar onde seu locatário está localizado, confira o artigo Onde meu locatário do Power BI está localizado?

Quando os usuários de um locatário acessam o serviço do Power BI, suas solicitações sempre são roteadas para essa região. Quando as solicitações acessam o serviço do Power BI, o serviço pode enviar solicitações adicionais, por exemplo, para a fonte de dados subjacente ou o gateway de dados, que também estão sujeitos à latência de rede.

Ferramentas como o Teste de Velocidade do Azure fornecem uma indicação da latência de rede entre o cliente e a região do Azure. Em geral, para minimizar o impacto da latência de rede, empenhe-se para manter fontes de dados, gateways e a capacidade do Power BI o mais próximo possível. Elas devem residir, de preferência, na mesma região. Se a latência de rede for um problema, tente localizar os gateways e as fontes de dados mais próximos da sua capacidade do Power BI, colocando-os em máquinas virtuais hospedadas na nuvem.

Monitoramento de desempenho

Você pode monitorar o desempenho do servidor para identificar gargalos. Consultas ou visuais de relatório lentos devem ser um ponto focal de otimização contínua. O monitoramento pode ser feito no tempo de design no Power BI Desktop ou em cargas de trabalho de produção em capacidades do Power BI Premium. Confira mais informações em Monitorar o desempenho de relatórios no Power BI.

Para obter mais informações sobre este artigo, confira os seguintes recursos: