Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O Power BI Report Server é uma solução de self-service BI e relatórios empresariais que os clientes podem implementar nas suas instalações, atrás do firewall. Combina a capacidade de relatório interativo do Power BI Desktop com a plataforma de servidores on-premises SQL Server Reporting Services. Com o uso intensivo e crescente de análises e relatórios nas empresas, orçamentar a infraestrutura de hardware e as licenças de software necessárias para escalar para uma base de utilizadores empresariais 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 utilização das organizações variem amplamente, os resultados apresentados neste artigo, juntamente com os testes reais utilizados e uma descrição detalhada de como foram executados, servem como ponto de referência para qualquer pessoa que esteja na fase inicial de planeamento da implementação do Power BI Report Server.
Síntese
Executámos dois tipos diferentes de cargas de trabalho no Power BI Report Server; Cada carga de trabalho consistia em renderizar diferentes tipos de relatórios, bem como em realizar várias operações de portais web.
- Na carga de trabalho "Power BI Report Heavy", a operação mais frequentemente executada (ou seja, a operação executada 60% das vezes) era a renderização de relatórios Power BI.
- No tipo de carga "Paginated Report Heavy", a operação executada com mais frequência era a renderização de relatórios paginados.
Numa topologia de quatro servidores do Power BI Report Server e na expectativa de que não mais de 5% de utilizadores acedam a um servidor de relatórios em simultâneo, a tabela seguinte descreve o número máximo de utilizadores que o Power BI Report Server pode gerir com pelo menos 99% de fiabilidade.
| Carga de trabalho | 8 núcleos/32 GB de RAM | 16 núcleos/64 GB de RAM |
|---|---|---|
| Relatório de Power BI Pesado (>60%) | 1.000 utilizadores | 3.000 utilizadores |
| Relatório Paginado (RDL) Intenso (>60%) | 2.000 utilizadores | 3.200 utilizadores |
Em cada execução, o recurso mais sobrecarregado era a CPU. Devido a isto, aumentar o número de núcleos para o Power BI Report Server traria um ganho maior na fiabilidade do sistema do que aumentar a quantidade de memória ou espaço em disco rígido.
Metodologia de ensaio
A topologia de teste utilizada baseava-se em Máquinas Virtuais Microsoft Azure em vez de hardware físico específico de cada fornecedor. Todas as máquinas estavam alojadas em regiões dos EUA. Isto reflete a tendência geral da virtualização de hardware, tanto on-premises como na cloud pública.
Topologia do Power BI Report Server
A implementação do Power BI Report Server consistia nas seguintes máquinas virtuais:
- Controlador de Domínio do Active Directory: isto era necessário pelo SQL Server Database Engine, SQL Server Analysis Services e Power BI Report Server para autenticar todos os pedidos de forma segura.
- SQL Server Database Engine e SQL Server Analysis Services: foi aqui que guardámos todas as bases de dados para que os relatórios fossem consumidas quando os renderizássemos.
- Power BI Report Server
- Base de Dados do Power BI Report Server. A base de dados do servidor de relatórios está alojada numa máquina diferente do Power BI Report Server, pelo que não precisa de competir com o SQL Server Database Engine em memória, CPU, rede e recursos de disco.
Consulte o Apêndice 1.1 Topologia do Power BI Report Server e o Apêndice 1.2 Configuração da Máquina Virtual do Power BI Report Server para uma configuração completa de cada máquina virtual utilizada na topologia.
Testes
Os testes usados nas execuções de testes de carga estão disponíveis publicamente num projeto GitHub chamado Reporting Services LoadTest. Esta ferramenta permite aos utilizadores estudar as características de desempenho, fiabilidade, escalabilidade e recuperação do SQL Server Reporting Services e do Power BI Report Server. Este projeto consiste em quatro grupos de casos de teste:
- Testes que simulam a renderização de relatórios Power BI,
- Testes que simulam a renderização de relatórios móveis,
- Testes que simulam a renderização de relatórios paginados pequenos e grandes, e
- Testes que simulam a execução de vários tipos de operações de portais web.
Todos os testes foram escritos para realizar uma operação de ponta a ponta (como renderizar um relatório, criar uma nova fonte de dados, etc.). Conseguem isto fazendo um ou mais pedidos web ao servidor de relatórios (através de APIs). No mundo real, um utilizador pode precisar de realizar algumas operações intermédias para completar uma destas operações de ponta a ponta. Por exemplo, para renderizar um relatório, um utilizador terá de ir ao portal web, navegar até à pasta onde está o relatório e depois clicar no relatório para o renderizar. Embora os testes não realizem todas as operações necessárias para realizar uma tarefa de ponta a ponta, continuam a impor a maior parte da carga que o Power BI Report Server suportaria. Pode aprender mais sobre os diferentes tipos de relatórios utilizados, bem como sobre a variedade de operações realizadas, explorando o projeto GitHub.
Observação
A ferramenta não é oficialmente suportada pela Microsoft, mas a equipa de produto contribui para o projeto e responde a questões levantadas por outros colaboradores.
Workloads
Existem 2 perfis de carga de trabalho usados nos testes: Power BI Reporting Heavy e Paginated Report Heavy. A tabela abaixo descreve a distribuição dos pedidos executados contra o Servidor de Relatórios.
| Activity | Relatórios do Power BI Pesados, Frequência de ocorrência | Relatório Paginado Pesado, Frequência de ocorrência |
|---|---|---|
| Renderização de relatórios 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 utilizador
Para cada teste, os testes eram executados com base na frequência especificada numa das duas cargas de trabalho. Os testes começaram com 20 pedidos simultâneos de utilizadores para o servidor de relatórios. A carga do utilizador foi então gradualmente aumentada até que a fiabilidade caiu abaixo do alvo de 99%.
Results
Capacidade de utilizadores simultâneos
Como referido anteriormente, os testes começaram com 20 utilizadores simultâneos a fazer pedidos ao servidor de relatórios. O número de utilizadores concorrentes foi então gradualmente aumentado até que 1% de todos os pedidos falhassem. Os resultados na tabela seguinte indicam-nos o número de pedidos de utilizador concorrentes que o servidor seria capaz de gerir sob carga máxima com uma taxa de falha inferior a 1%.
| Carga de trabalho | 8 núcleos/32 GB | 16 Core/64 GB |
|---|---|---|
| Relatório Pesado do Power BI | 50 utilizadores simultâneos | 150 utilizadores simultâneos |
| Relatório Paginado Pesado | 100 utilizadores simultâneos | 160 utilizadores simultâneos |
Capacidade total de utilizadores
Na Microsoft, temos uma implementação em produção do Power BI Report Server que várias equipas utilizaram. Quando analisamos a utilização real deste ambiente, observamos que o número de utilizadores concorrentes em qualquer momento (mesmo durante a carga máxima diária) não tende a exceder 5% da base total de utilizadores. Usando esta proporção de concorrência de 5% como referência, extrapolámos a base total de utilizadores que o Power BI Report Server podia suportar com 99% de fiabilidade.
| Carga de trabalho | 8 núcleos/32 GB | 16 Core/64 GB |
|---|---|---|
| Relatório Pesado do Power BI | 1.000 utilizadores | 3.000 utilizadores |
| Relatório Paginado Pesado | 2.000 utilizadores | 3.200 utilizadores |
Resumo
Em cada execução de teste de carga, a CPU era o recurso mais sobrecarregado no ponto de pico de carga na máquina Power BI Report Server. Por isso, o primeiro recurso que deve ser aumentado é o número de núcleos. Alternativamente, pode considerar escalar adicionando mais servidores que alojam o Power BI Report Server na sua topologia.
Os resultados apresentados neste artigo foram derivados da execução de um conjunto específico de relatórios que consumem um conjunto específico de dados, repetidos de uma forma específica. É um ponto de referência útil, mas tenha em mente que a sua utilização dependerá dos seus relatórios, consultas, padrões de utilização e da implementação do seu Power BI Report Server.
Appendix
1 Topologia
1.1 Topologia do Power BI Report Server
Para se focar exclusivamente no comportamento do Power BI Report Server sob diferentes configurações, a configuração da VM para cada tipo de máquina (exceto para a máquina que alojava o Power BI Report Server) foi corrigida. Cada máquina foi equipada de acordo com as máquinas da série D de segunda geração (v2) com Discos de Armazenamento Premium. Pode encontrar informações detalhadas sobre o tamanho de cada VM na secção "Uso Geral".
| Tipo de Máquina Virtual | Processor | Memory | Azure VM Size |
|---|---|---|---|
| Controlador de Domínio do Active Directory | 2 Núcleos | 7 GB | Standard_DS2_v2 |
| Motor de Base de Dados SQL Server e Serviços de Análise | 16 núcleos | 56 GB | Standard_DS5_v2 |
| Base de Dados do Servidor de Relatórios | 16 núcleos | 56 GB | Standard_DS5_v2 |
1.2 Configuração da Máquina Virtual do Power BI Report Server
Diferentes configurações de processador e memória eram usadas para a Máquina Virtual que alojava o Power BI Report Server. 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. Pode encontrar informações detalhadas sobre este tamanho de VM na secção "Uso Geral"
| Máquina Virtual | Processor | Memory | Azure VM Size |
|---|---|---|---|
| Power BI Report Server (Pequeno) | 8 Núcleos | 32 GB | Standard_D8S_v3 |
| Power BI Report Server (Versão Grande) | 16 núcleos | 64 GB | vStandard_D16S_v3 |
2 Executar a ferramenta LoadTest
Se quiser executar a ferramenta Reporting Services LoadTest no seu ou numa implementação Microsoft Azure do Power BI Report Server, siga estes passos.
- Clone o projeto LoadTest dos Serviços de Relatórios do GitHub (https://github.com/Microsoft/Reporting-Services-LoadTest).
- No diretório do projeto, encontrará um ficheiro de solução chamado RSLoadTests.sln. Abra este ficheiro no Visual Studio 2015 ou posterior.
- Determine se pretende executar esta ferramenta contra a sua implementação do Power BI Report Server ou contra uma implementação do Power BI Report Server no Microsoft Azure. Se for executar isto na sua própria implementação, vá para o passo 5.
- Siga as instruções listadas em https://github.com/Microsoft/Reporting-Services-LoadTest#create-a-sql-server-reporting-services-load-environment-in-azure para criar um ambiente Power BI Report Server no Azure.
- Depois de terminar de implementar o ambiente, siga as instruções listadas em https://github.com/Microsoft/Reporting-Services-LoadTest#load-test-execution para executar os testes.
Mais perguntas? Tente perguntar à Comunidade do Power BI