Guia de otimização para o Power BIOptimization guide for Power BI

Este artigo fornece diretrizes que permitem a desenvolvedores e administradores produzir e manter soluções otimizadas do Power BI.This article provides guidance that enables developers and administrators to produce and maintain optimized Power BI solutions. Você pode otimizar sua solução em diferentes camadas de arquitetura.You can optimize your solution at different architectural layers. As camadas incluem:Layers include:

  • As fontes de dadosThe data source(s)
  • O modelo de dadosThe data model
  • Visualizações, incluindo dashboards, relatórios do Power BI e relatórios paginados do Power BIVisualizations, including dashboards, Power BI reports, and Power BI paginated reports
  • O ambiente, incluindo capacidades, gateways de dados e a redeThe environment, including capacities, data gateways, and the network

Otimizar modelos de dadosOptimizing the data model

O modelo de dados dá suporte à experiência inteira de visualização.The data model supports the entire visualization experience. Os modelos de dados são hospedados externa ou internamente e, no Power BI, são chamados de conjuntos de dados.Data models are either external-hosted or internal-hosted, and in Power BI they are referred to as datasets. É importante entender suas opções e escolher o tipo apropriado de conjunto de dados para sua solução.It's important to understand your options, and to choose the appropriate dataset type for your solution. Os três modos de conjunto de dados são: Importação, DirectQuery e composto.There are three dataset modes: Import, DirectQuery, and Composite. Confira mais informações em Conjuntos de dados no serviço do Power BI e em Modos de conjuntos de dados no serviço do Power BI.For more information, see Datasets in the Power BI service, and Dataset modes in the Power BI service.

Para obter diretrizes específicas do modo de conjunto de dados, confira:For specific dataset mode guidance, see:

Otimizar visualizaçõesOptimizing visualizations

As visualizações do Power BI, incluindo dashboards, relatórios do Power BI e relatórios paginados do Power BI.Power BI visualizations can be dashboards, Power BI reports, or Power BI paginated reports. Cada uma tem diferentes arquiteturas e, portanto, suas próprias diretrizes.Each has different architectures, and so each has their own guidance.

DashboardsDashboards

É 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.It's important to understand that Power BI maintains a cache for your dashboard tiles—except live report tiles, and streaming tiles. Confira mais informações em Atualização de dados no Power BI (Atualização de bloco).For more information, see Data refresh in Power BI (Tile refresh). Caso seu conjunto de armazenamento imponha a RLS (Segurança em Nível de Linha) dinâmica, entenda as implicações de desempenho, pois os blocos serão armazenados em cache por usuário.If your dataset enforces dynamic row-level security (RLS), be sure to understand performance implications as tiles will cache on a per-user basis.

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.When you pin live report tiles to a dashboard, they're not served from the query cache. Em vez disso, eles se comportam como relatórios e consultam os núcleos de back-end em tempo real.Instead, they behave like reports, and make queries to back-end cores on the fly.

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.As the name suggests, retrieving the data from the cache provides better and more consistent performance than relying on the data source. Uma maneira de aproveitar essa funcionalidade é ter painéis como a primeira página de aterrissagem para seus usuários.One way to take advantage of this functionality is to have dashboards be the first landing page for your users. Fixe os visuais usados com frequência e altamente solicitados aos dashboards.Pin often-used and highly requested visuals to the dashboards. Dessa forma, os dashboards se tornam uma valiosa "primeira linha de defesa", que oferece um desempenho consistente sem sobrecarregar a capacidade.In this way, dashboards become a valuable "first line of defense", which delivers consistent performance with less load on the capacity. Os usuários ainda podem clicar no relatório para analisar os detalhes.Users can still click through to a report to analyze details.

Para conjuntos de dados de conexão dinâmica e do DirectQuery, o cache é atualizado periodicamente ao consultar a fonte de dados.For DirectQuery and live connection datasets, the cache is updated on a periodic basis by querying the data source. Por padrão, a atualização ocorre a cada hora, embora você possa configurar uma frequência diferente nas configurações do conjunto de dados.By default, it happens every hour, though you can configure a different frequency in the dataset settings. Cada atualização de cache envia as consultas à fonte de dados subjacente para atualizar o cache.Each cache update will send queries to the underlying data source to update the cache. O número de consultas geradas depende do número de visuais fixados nos dashboards que dependem dessa fonte de dados.The number of queries that generate depends on the number of visuals pinned to dashboards that rely on the data source. 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.Notice that if row-level security is enabled, queries are generated for each different security context. Por exemplo, considere que haja duas funções diferentes que categorizem os usuários, com duas exibições diferentes dos dados.For example, consider there are two different roles that categorize your users, and they have two different views of the data. Durante a atualização do cache de consulta, o Power BI gera dois conjuntos de consultas.During query cache refresh, Power BI generates two sets of queries.

Relatórios do Power BIPower BI reports

Existem várias recomendações para otimizar os designs de relatórios do Power BI.There are several recommendations for optimizing Power BI report designs.

Observação

Quando os relatórios são baseados em um conjunto de dados do DirectQuery, confira otimizações adicionais para o design de relatório em Diretrizes sobre modelos do DirectQuery no Power BI Desktop (Otimizar designs de relatórios).When reports are based on a DirectQuery dataset, for additional report design optimizations, see DirectQuery model guidance in Power BI Desktop (Optimize report designs).

Aplicar os filtros mais restritivosApply the most restrictive filters

Quanto mais dados um visual precisar exibir, mais lentamente esse visual será carregado.The more data that a visual needs to display, the slower that visual is to load. Embora esse princípio pareça óbvio, é fácil esquecer.While this principle seems obvious, it's easy to forget. Por exemplo: suponha que você tenha um grande conjunto de dados.For example: suppose you have a large dataset. Sobre esse conjunto de dados, você cria um relatório com uma tabela.Atop of that dataset, you build a report with a table. 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.End users use slicers on the page to get to the rows they want—typically, they're only interested in a few dozen rows.

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.A common mistake is to leave the default view of the table unfiltered—that is, all 100M+ rows. Os dados dessas linhas são carregados na memória e descompactados a cada atualização.The data for these rows loads into memory and is uncompressed at every refresh. Esse processamento cria grandes demandas para a memória.This processing creates huge demands for memory. A solução é usar o filtro "Os N principais" para reduzir o número máximo de itens que a tabela exibe.The solution: use the "Top N" filter to reduce the max number of items that the table displays. É possível definir o item máximo como maior do que o que usuários precisam, por exemplo, 10 mil.You can set the max item to larger than what users would need, for example, 10,000. O resultado é que a experiência do usuário final não muda, mas o uso da memória cai muito.The result is the end-user experience doesn't change, but memory use drops greatly. E o mais importante é que o desempenho melhora.And most importantly, performance improves.

Uma abordagem de design semelhante à acima é recomendável para todos os visuais em seus relatórios.A similar design approach to the above is suggested for every visual in your report. Pergunte-se: todos os dados neste visual são necessários?Ask yourself, is all the data in this visual needed? Existem maneiras de filtrar a quantidade de dados mostrados no visual com impacto mínimo na experiência do usuário final?Are there ways to filter the amount of data shown in the visual with minimal impact to the end-user experience? Lembre-se de que as tabelas podem ser particularmente caras.Remember, tables in particular can be expensive.

Limitar visuais em páginas do relatórioLimit visuals on report pages

O princípio acima aplica-se igualmente ao número de elementos visuais adicionados a uma página de relatório.The above principle applies equally to the number of visuals added to a report page. Recomendamos limitar o número de elementos visuais de determinada página de relatório apenas ao que é necessário.It's highly recommended you limit the number of visuals on a particular report page to only what is necessary. 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.Drillthrough pages and report page tooltips are great ways to provide additional details without jamming more visuals onto the page.

Avaliar o desempenho do visual personalizadoEvaluate custom visual performance

Coloque cada visual personalizado em execução para garantir alto desempenho.Be sure to put each custom visual through its paces to ensure high performance. Visuais do Power BI otimizados de maneira precária podem afetar negativamente o desempenho de todo o relatório.Poorly optimized Power BI visuals can negatively affect the performance of the entire report.

Relatórios paginados no Power BIPower BI paginated reports

É 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.Power BI paginated report designs can be optimized by applying best practice design to the report's data retrieval. Para obter mais informações, confira Diretrizes de recuperação de dados para relatórios paginados.For more information, see Data retrieval guidance for paginated reports.

Além disso, garanta que sua capacidade tenha memória suficiente alocada para a carga de trabalho dos relatórios paginados.Also, ensure your capacity has sufficient memory allocated to the paginated reports workload.

Otimizar o ambienteOptimizing the environment

É 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.You can optimize the Power BI environment by configuring capacity settings, sizing data gateways, and reducing network latency.

Configurações de capacidadeCapacity settings

Ao usar capacidades dedicadas, disponíveis com o Power BI Premium (P SKUs) ou com o Power BI Embedded (A SKUs, A4-A6), você pode gerenciar configurações de capacidade.When using dedicated capacities—available with Power BI Premium (P SKUs), or Power BI Embedded (A SKUs, A4-A6)—you can manage capacity settings. Para obter mais informações, confira Gerenciar capacidades Premium.For more information, see Managing Premium capacities. Confira as diretrizes sobre como otimizar a capacidade em Otimização de capacidades Premium.For guidance on how to optimize your capacity, see Optimizing Premium capacities.

Dimensionamento de gatewayGateway sizing

O gateway é necessário sempre que o Power BI precisa acessar dados que não estejam diretamente acessíveis pela Internet.A gateway is required whenever Power BI must access data that isn't accessible directly over the 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.You can install the on-premises data gateway on a server on-premises, or VM-hosted Infrastructure-as-a-Service (IaaS).

Para entender as recomendações de dimensionamento e cargas de trabalho de gateways, confira Dimensionamento de gateway de dados local.To understand gateway workloads and sizing recommendations, see On-premises data gateway sizing.

Latência da redeNetwork latency

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.Network latency can impact report performance by increasing the time required for requests to reach the Power BI service, and for responses to be delivered. Locatários no Power BI são atribuídos a uma região específica.Tenants in Power BI are assigned to a specific region.

Dica

Para determinar onde seu locatário está localizado, confira o artigo Onde meu locatário do Power BI está localizado?To determine where your tenant is located, see Where is my Power BI tenant located?

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.When users from a tenant access the Power BI service, their requests always route to this region. 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.As requests reach the Power BI service, the service may then send additional requests—for example, to the underlying data source, or a data gateway—which are also subject to network latency.

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.Tools such as Azure Speed Test provide an indication of network latency between the client and the Azure region. Em geral, para minimizar o impacto da latência de rede, empenhe-se para manter fontes de dados, gateways e o cluster do Power BI o mais próximo possível.In general, to minimize the impact of network latency, strive to keep data sources, gateways, and your Power BI cluster as close as possible. Elas devem residir, de preferência, na mesma região.Preferably, they reside within the same region. Se a latência de rede for um problema, tente localizar os gateways e as fontes de dados mais próximos do seu cluster do Power BI, colocando-os em máquinas virtuais hospedadas na nuvem.If network latency is an issue, try locating gateways and data sources closer to your Power BI cluster by placing them inside cloud-hosted virtual machines.

Monitoramento de desempenhoMonitoring performance

Você pode monitorar o desempenho do servidor para identificar gargalos.You can monitor performance to identify bottlenecks. Consultas ou visuais de relatório lentos devem ser um ponto focal de otimização contínua.Slow queries—or report visuals—should be a focal point of continued optimization. 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.Monitoring can be done at design time in Power BI Desktop, or on production workloads in Power BI Premium capacities. Confira mais informações em Monitorar o desempenho de relatórios no Power BI.For more information, see Monitoring report performance in Power BI.

Próximas etapasNext steps

Para obter mais informações sobre este artigo, confira os seguintes recursos:For more information about this article, check out the following resources: