Compartilhar via


Diretrizes de planejamento de capacidade para o Servidor de Relatórios do Power BI

O Servidor de Relatórios do Power BI é uma solução de relatórios corporativos e de BI de autoatendimento que os clientes podem implantar em suas instalações, por trás do firewall. Ele combina o recurso de relatório interativo do Power BI Desktop com a plataforma de servidor local do SQL Server Reporting Services. Com o uso intenso e crescente de análises e relatórios dentro das empresas, o orçamento da infraestrutura de hardware e das licenças de software necessárias para dimensionar para uma base de usuários corporativa pode ser um desafio. Este documento tem como objetivo oferecer diretrizes de planejamento de capacidade do Servidor de Relatórios do Power BI, com o compartilhamento de resultados de diversas execuções de teste de carga de várias cargas de trabalho em um servidor de relatório. Embora os relatórios, consultas e padrões de uso das organizações variem amplamente, os resultados apresentados neste artigo, juntamente com os testes reais usados e uma descrição detalhada de como foram executados, servem como um ponto de referência para qualquer pessoa no processo de planejamento em estágio inicial da implantação do Servidor de Relatórios do Power BI.

Resumo executivo

Executamos dois tipos diferentes de cargas de trabalho no Servidor de Relatórios do Power BI; cada carga de trabalho consistia em renderizar diferentes tipos de relatórios, bem como executar várias operações do portal da Web.

  • Na carga de trabalho "Power BI Report Heavy", a operação executada com mais frequência (ou seja, a operação executada 60% do tempo) foi renderizar relatórios do Power BI.
  • Na carga de trabalho "Relatório Paginado Pesado", a operação executada com mais frequência foi renderizar relatórios paginados.

Em uma topologia de quatro servidores do Servidor de Relatórios do Power BI e a expectativa de que não mais de 5% de usuários acessem um servidor de relatório a qualquer momento, a tabela a seguir descreve o número máximo de usuários que o Servidor de Relatórios do Power BI pode lidar com pelo menos 99% confiabilidade.

Carga de trabalho 8 Núcleos/32 GB de RAM 16 Núcleos/64 GB de RAM
Power BI Report Heavy (>60%) 1.000 usuários 3.000 usuários
Relatório Paginado (RDL) Pesado (>60%) 2.000 usuários 3.200 usuários

Em cada execução, o recurso mais sobrecarregado era a CPU. Devido a isso, aumentar o número de núcleos para o Servidor de Relatórios do Power BI produziria um ganho maior na confiabilidade do sistema do que aumentar a quantidade de memória ou espaço em disco rígido.

Metodologia de teste

A topologia de teste usada foi baseada em Máquinas Virtuais do Microsoft Azure em vez de hardware físico específico do fornecedor. Todos os computadores foram hospedados em regiões dos EUA. Isso reflete a tendência geral da virtualização de hardware local e na nuvem pública.

Topologia do Servidor de Relatórios do Power BI

A implantação do Servidor de Relatórios do Power BI consistia nas seguintes máquinas virtuais:

  • Controlador de Domínio do Active Directory: isso foi necessário pelo Mecanismo de Banco de Dados do SQL Server, pelo SQL Server Analysis Services e pelo Servidor de Relatórios do Power BI para autenticar com segurança todas as solicitações.
  • Mecanismo de Banco de Dados do SQL Server e SQL Server Analysis Services: este era o local onde armazenávamos todos os bancos de dados para serem consumidos pelos relatórios na hora da renderização.
  • Servidor de Relatórios do Power BI
  • Banco de dados do Servidor de Relatórios do Power BI. O banco de dados do servidor de relatório é hospedado em um computador diferente do Servidor de Relatórios do Power BI para que ele não precise competir com o Mecanismo de Banco de Dados do SQL Server para recursos de memória, CPU, rede e disco.

Captura de tela mostrando o diagrama de relações entre o Servidor de Relatórios do Power BI, o Active Directory e os bancos de dados associados.

Consulte a Topologia do Servidor de Relatórios do Power BI do Apêndice 1.1 e a Configuração da Máquina Virtual do Servidor de Relatórios do Power BI 1.2 para obter uma configuração completa de cada máquina virtual usada na topologia.

Testes

Os testes usados nas execuções de teste de carga estão disponíveis publicamente em um projeto do GitHub chamado Reporting Services LoadTest. Essa ferramenta permite que os usuários estudem as características de desempenho, confiabilidade, escalabilidade e recuperabilidade do SQL Server Reporting Services e do Servidor de Relatórios do Power BI. Este projeto consiste em quatro grupos de casos de teste:

  • Testes simulando a renderização de relatórios do Power BI,
  • Testes simulando a renderização de relatórios móveis,
  • Testes simulando renderização de relatórios paginados pequenos e grandes e
  • Testes simulando a execução de vários tipos de operações do portal da Web.

Todos os testes foram gravados para executar uma operação de ponta a ponta (como renderizar um relatório, criar uma nova fonte de dados etc.). Eles fazem isso fazendo uma ou mais solicitações da Web para o servidor de relatório (por meio de APIs). No mundo real, talvez um usuário precise executar algumas operações intermediárias para concluir uma dessas operações de ponta a ponta. Por exemplo, para renderizar um relatório, um usuário precisará ir para o portal da Web, navegar até a pasta onde o relatório está e, em seguida, clicar no relatório para renderizá-lo. Embora os testes não executem todas as operações necessárias para realizar uma tarefa de ponta a ponta, eles ainda impõem a maior parte da carga que o Servidor de Relatórios do Power BI experimentaria. Você pode saber mais sobre os diferentes tipos de relatórios usados, bem como a variedade de operações executadas explorando o projeto do GitHub.

Observação

A ferramenta não tem suporte oficial da Microsoft, mas a equipe de produtos contribui para o projeto e responde a problemas que são gerados por outros colaboradores.

Workloads

Há dois perfis de carga de trabalho usados no teste: Power BI Report Heavy e Paginated Report Heavy. A tabela a seguir descreve a distribuição de solicitações executadas no Servidor de Relatório.

Activity Relatório pesado do Power BI, frequência de ocorrência Relatório paginado pesado, frequência de ocorrência
Renderizando relatórios do Power BI 60% 10%
Renderizando relatórios paginados (RDL) 30% 60%
Renderizando relatórios móveis 5% 20%
Operações do portal da Web 5% 10%

Carga do usuário

Para cada execução de teste, os testes foram executados com base na frequência especificada em uma das duas cargas de trabalho. Testes iniciados com 20 solicitações de usuário simultâneas para o servidor de relatório. A carga do usuário foi então gradualmente aumentada até que a confiabilidade caiu abaixo da meta de 99%.

Results

Capacidade simultânea do usuário

Conforme indicado anteriormente, os testes começaram com 20 usuários simultâneos fazendo solicitações ao servidor de relatório. O número de usuários simultâneos aumentou gradualmente até que 1% de todas as solicitações falhassem. Os resultados na tabela a seguir nos dizem o número de solicitações simultâneas de usuário que o servidor seria capaz de lidar sob carga de pico com uma taxa de falha inferior a 1%.

Carga de trabalho 8 Núcleos/32 GB 16 Núcleos/64 GB
Relatório pesado do Power BI 50 usuários simultâneos 150 usuários simultâneos
Relatório paginado pesado 100 usuários simultâneos 160 usuários simultâneos

Capacidade total do usuário

Na Microsoft, temos uma implantação de produção do Servidor de Relatórios do Power BI que várias equipes usaram. Quando analisamos o uso real desse ambiente, observamos que o número de usuários simultâneos em determinado momento (mesmo durante a carga de pico diária) não tende a exceder 5% da base de usuários total. Usando essa taxa de simultaneidade de 5% como parâmetro de comparação, extrapolamos a base total de usuários que o Power BI Report Server poderia lidar com 99% de confiabilidade.

Carga de trabalho 8 Núcleos/32 GB 16 Núcleos/64 GB
Relatório pesado do Power BI 1.000 usuários 3.000 usuários
Relatório paginado pesado 2.000 usuários 3.200 usuários

Resumo

Para cada execução de teste de carga, a CPU era o recurso mais sobrecarregado no ponto de pico de carga no computador do Servidor de Relatórios do Power BI. Devido a isso, o primeiro recurso que deve ser aumentado é o número de núcleos. Como alternativa, você pode considerar o escalonamento horizontal adicionando mais servidores para hospedar o Servidor de Relatórios do Power BI em sua topologia.

Os resultados apresentados neste artigo foram derivados da execução de um conjunto específico de relatórios que consomem um conjunto específico de dados, repetidos de maneira específica. É um ponto de referência útil, mas tenha em mente que seu uso dependerá de seus relatórios, consultas, padrões de uso e implantação do Servidor de Relatórios do Power BI.

Apêndice

1 Topologia

1.1 Topologia do Servidor de Relatórios do Power BI

Para se concentrar apenas no comportamento do Servidor de Relatórios do Power BI em configurações diferentes, a configuração da VM para cada tipo de computador (exceto para o computador que hospeda o Servidor de Relatórios do Power BI) foi corrigida. Cada computador foi provisionado de acordo com os computadores da série D de segunda geração (v2) com Discos de Armazenamento Premium. Você pode encontrar informações detalhadas sobre cada tamanho de VM na seção "Uso Geral".

Tipo de máquina virtual Processador Memória Tamanho da VM do Azure
Controlador de Domínio do Active Directory 2 Núcleos 7 GB Standard_DS2_v2
Mecanismo de Banco de Dados do SQL Server e Serviços de Análise 16 núcleos 56 GB Standard_DS5_v2
Banco de Dados do Servidor de Relatório 16 núcleos 56 GB Standard_DS5_v2

1.2 Configuração da Máquina Virtual do Servidor de Relatórios do Power BI

Diferentes configurações de processador e memória foram usadas para a Máquina Virtual que hospeda o Servidor de Relatórios do Power BI. Ao contrário das outras VMs, esse computador foi provisionado de acordo com os computadores da série D de terceira geração (v3) com discos de armazenamento Premium. Você pode encontrar informações detalhadas sobre esse tamanho de VM na seção "Uso Geral"

Máquina Virtual Processador Memória Tamanho da VM do Azure
Servidor de Relatórios do Power BI (Pequeno) 8 núcleos 32 GB Standard_D8S_v3
Servidor de Relatórios do Power BI (Grande) 16 núcleos 64 GB vStandard_D16S_v3

2 Executar a ferramenta LoadTest

Se você quiser executar a ferramenta LoadTest do Reporting Services contra sua própria implantação ou uma implantação no Microsoft Azure do Power BI Report Server, siga estas etapas.

  1. Clone o projeto LoadTest do Reporting Services do GitHub (https://github.com/Microsoft/Reporting-Services-LoadTest).
  2. No diretório do projeto, você encontrará um arquivo de solução chamado RSLoadTests.sln. Abra esse arquivo no Visual Studio 2015 ou posterior.
  3. Determine se você deseja executar essa ferramenta contra sua implantação do Power BI Report Server ou em uma implantação do Power BI Report Server no Microsoft Azure. Se você vai executá-lo em sua própria configuração, vá para a etapa 5.
  4. Siga as instruções listadas https://github.com/Microsoft/Reporting-Services-LoadTest#create-a-sql-server-reporting-services-load-environment-in-azure para criar um ambiente do Servidor de Relatórios do Power BI no Azure.
  5. Depois de concluir a implantação do ambiente, siga as instruções listadas https://github.com/Microsoft/Reporting-Services-LoadTest#load-test-execution para executar os testes.

Mais perguntas? Tente perguntar à Comunidade do Power BI