Partilhar via


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

O Servidor de Relatório do Power BI é uma solução de relatórios corporativos e de BI de autoatendimento que os clientes podem implantar em suas instalações, atrá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, orçar a infraestrutura de hardware e as licenças de software necessárias para escalar para uma base de usuários corporativos pode ser um desafio. Este documento tem como objetivo oferecer orientação sobre o planejamento de capacidade para o Servidor de Relatório do Power BI compartilhando resultados de várias 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 documento, juntamente com os testes reais usados e uma descrição detalhada de como eles foram executados, servem como um ponto de referência para qualquer pessoa no processo de planejamento inicial de implantação do Servidor de Relatório do Power BI.

Síntese

Executamos dois tipos diferentes de cargas de trabalho no Servidor de Relatório 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) era a renderização de relatórios do Power BI.
  • Na carga de trabalho "Relatório Paginado Pesado", a operação executada com mais freqüência era a renderização de relatórios paginados.

Sob uma topologia de quatro servidores do Servidor de Relatório do Power BI e a expectativa de que não mais de 5% dos usuários acessarão 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ório do Power BI pode lidar com pelo menos 99% de confiabilidade.

Carga de trabalho 8 núcleos/32 GB de RAM 16 núcleos/64 GB de RAM
Relatório do Power BI pesado (>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 Power BI Report Server 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 ensaio

A topologia de teste usada foi baseada em Máquinas Virtuais do Microsoft Azure em vez de hardware físico específico do fornecedor. Todas as máquinas foram hospedadas em regiões dos EUA. Isso reflete a tendência geral de virtualização de hardware tanto no local quanto na nuvem pública.

Topologia do Servidor de Relatório do Power BI

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

  • Controlador de Domínio Ative Directory: isso era necessário para o Mecanismo de Banco de Dados do SQL Server, o SQL Server Analysis Services e o Servidor de Relatório do Power BI para autenticar todas as solicitações com segurança.
  • Mecanismo de Banco de Dados do SQL Server e SQL Server Analysis Services: era onde armazenávamos todos os bancos de dados para os relatórios consumirem quando os renderizamos.
  • Power BI Report Server
  • Banco de Dados do Servidor de Relatório do Power BI. O banco de dados do servidor de relatório é hospedado em uma máquina diferente do Servidor de Relatório do Power BI para que ele não precise competir com o Mecanismo de Banco de Dados do SQL Server por recursos de memória, CPU, rede e disco.

Diagram showing relationships between Power B I Report Server, Active Directory, and associated databases.

Consulte o Apêndice 1.1 Topologia do Servidor de Relatório do Power BI e o Apêndice 1.2 Configuração da Máquina Virtual do Servidor de Relatório do Power BI 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 GitHub chamado Reporting Services LoadTest. Essa ferramenta permite que os usuários estudem as características de desempenho, confiabilidade, escalabilidade e capacidade de recuperação do SQL Server Reporting Services e do Power BI Report Server. 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 a renderização de relatórios paginados pequenos e grandes, e
  • Testes simulando a realização de vários tipos de operações do portal web.

Todos os testes foram escritos 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, um usuário pode precisar 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 ao portal da Web, navegar até a pasta onde o relatório está e 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ório do Power BI enfrentaria. Você pode aprender mais sobre os diferentes tipos de relatórios usados, bem como a variedade de operações realizadas explorando o projeto GitHub.

Nota

A ferramenta não é oficialmente suportada pela Microsoft, mas a equipe de produto contribui para o projeto e responde a questões levantadas por outros colaboradores.

Cargas de Trabalho

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

Atividade Relatório do Power BI Pesado, Frequência de ocorrência Relatório Paginado Pesado, Frequência de ocorrência
Renderizando relatórios do Power BI 60% 10%
Renderização de relatórios paginados (RDL) 30% 60%
Renderização de relatórios móveis 5% 20%
Operações do portal 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. Os testes começaram com 20 solicitações de usuário simultâneas para o servidor de relatório. A carga de usuários foi então aumentada gradualmente até que a confiabilidade caiu abaixo da meta de 99%.

Resultados

Capacidade de utilizador simultânea

Como dito 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 foi então gradualmente aumentado até que 1% de todas as solicitações estavam falhando. Os resultados na tabela a seguir nos informam o número de solicitações de usuários simultâneos 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 do Power BI pesado 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 de utilizadores

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

Carga de trabalho 8 núcleos/32 GB 16 núcleos/64 GB
Relatório do Power BI pesado 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 na máquina do Servidor de Relatório do Power BI. Devido a isso, o primeiro recurso que deve ser aumentado é o número de núcleos. Como alternativa, você pode considerar a expansão adicionando mais servidores que hospedam o Servidor de Relatório do Power BI em sua topologia.

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

Anexo

1 Topologia

1.1 Topologia do Servidor de Relatório do Power BI

Para se concentrar apenas no comportamento do Servidor de Relatório do Power BI em configurações diferentes, a configuração da VM para cada tipo de máquina (exceto para a máquina que hospeda o Servidor de Relatório do Power BI) foi corrigida. Cada máquina foi provisionada de acordo com as máquinas 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 "Propósito geral".

Tipo de máquina virtual Processador Memória Tamanho da VM do Azure
Controlador de Domínio Ative Directory 2 Núcleos 7 GB Standard_DS2_v2
Mecanismo de Banco de Dados do SQL Server e Analysis Services 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ório do Power BI

Diferentes configurações de processador e memória foram usadas para a Máquina Virtual que hospeda o Servidor de Relatório do Power BI. Ao contrário das outras VMs, esta máquina foi provisionada de acordo com as máquinas 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 "Propósito geral"

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

2 Execute a ferramenta LoadTest

Se você quiser executar a ferramenta LoadTest do Reporting Services em sua implantação ou em uma implantação do Microsoft Azure do Servidor de Relatório do Power BI, 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 este arquivo no Visual Studio 2015 ou posterior.
  3. Determine se você deseja executar essa ferramenta em sua implantação do Servidor de Relatório do Power BI ou em uma implantação do Servidor de Relatório do Power BI no Microsoft Azure. Se você vai executá-lo em sua própria implantação, vá para a etapa 5.
  4. Siga as instruções listadas para https://github.com/Microsoft/Reporting-Services-LoadTest#create-a-sql-server-reporting-services-load-environment-in-azure criar um ambiente do Servidor de Relatório do Power BI no Azure.
  5. Depois de concluir a implantação do ambiente, siga as instruções listadas para https://github.com/Microsoft/Reporting-Services-LoadTest#load-test-execution executar os testes.

Tem dúvidas? Tente perguntar à Comunidade do Power BI