Linee guida per la pianificazione della capacità per Server di report di Power BI

Server di report di Power BI è una soluzione di business intelligence self-service e reporting aziendale che i clienti possono distribuire in locale, dietro il firewall. Combina la funzionalità interattiva del report di Power BI Desktop con la piattaforma server locale di SQL Server Reporting Services. Con un utilizzo elevato e crescente di analisi e creazione di report all'interno delle aziende, il budget dell'infrastruttura hardware e delle licenze software necessarie per la scalabilità a una base di utenti aziendali può essere una sfida. Questo documento mira a offrire indicazioni sulla pianificazione della capacità per Server di report di Power BI condividendo i risultati di numerose esecuzioni di test di carico di vari carichi di lavoro in un server di report. Anche se i report, le query e i modelli di utilizzo delle organizzazioni variano notevolmente, i risultati presentati in questo documento, insieme ai test effettivi usati e una descrizione dettagliata del modo in cui sono stati eseguiti, fungono da punto di riferimento per chiunque nel processo di pianificazione iniziale della distribuzione di Server di report di Power BI.

Riepilogo esecutivo

Sono stati eseguiti due diversi tipi di carichi di lavoro in Server di report di Power BI; ogni carico di lavoro è costituito dal rendering di diversi tipi di report e dall'esecuzione di varie operazioni del portale Web.

  • Nel carico di lavoro "Power BI Report Heavy", l'operazione eseguita più di frequente (ovvero l'operazione eseguita il 60% del tempo) esegue il rendering dei report di Power BI.
  • Nel carico di lavoro "Impaginato Report Heavy", l'operazione eseguita più di frequente esegue il rendering dei report impaginati.

In una topologia a quattro server di Server di report di Power BI e si prevede che non più del 5% degli utenti accederà a un server di report in qualsiasi momento, la tabella seguente descrive il numero massimo di utenti Server di report di Power BI può gestire con almeno il 99% di affidabilità.

Carico di lavoro 8 Core/32 GB di RAM 16 Core/64 GB di RAM
Power BI Report Heavy (>60%) 1.000 utenti 3.000 utenti
Report impaginato (RDL) Pesante (>60%) 2.000 utenti 3.200 utenti

In ogni esecuzione, la risorsa più sovraccaricata era la CPU. A causa di questo, l'aumento del numero di core a Server di report di Power BI produrrebbe un aumento dell'affidabilità del sistema rispetto all'aumento della quantità di memoria o di spazio su disco rigido.

Metodologia di test

La topologia di test usata è basata su Microsoft Azure Macchine virtuali anziché su hardware fisico specifico del fornitore. Tutti i computer sono stati ospitati nelle aree degli Stati Uniti. Ciò riflette la tendenza generale della virtualizzazione hardware sia in locale che nel cloud pubblico.

topologia Server di report di Power BI

La distribuzione Server di report di Power BI è costituita dalle macchine virtuali seguenti:

  • Dominio di Active Directory Controller: necessario per SQL Server motore di database, SQL Server Analysis Services e Server di report di Power BI per autenticare in modo sicuro tutte le richieste.
  • SQL Server motore di database e SQL Server Analysis Services: in questo caso sono stati archiviati tutti i database per i report da utilizzare durante il rendering.
  • Server di report di Power BI
  • Server di report di Power BI Database. Il database del server di report è ospitato in un computer diverso da Server di report di Power BI in modo che non sia necessario competere con SQL Server motore di database per le risorse di memoria, CPU, rete e disco.

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

Vedere Appendice 1.1 Server di report di Power BI topologia e Appendice 1.2 Server di report di Power BI Configurazione macchina virtuale per una configurazione completa di ogni macchina virtuale usata nella topologia.

Test

I test usati nelle esecuzioni dei test di carico sono disponibili pubblicamente in un progetto GitHub denominato LoadTest di Reporting Services. Questo strumento consente agli utenti di studiare le caratteristiche di prestazioni, affidabilità, scalabilità e recuperabilità di SQL Server Reporting Services e Server di report di Power BI. Questo progetto è costituito da quattro gruppi di test case:

  • Test che simulano il rendering dei report di Power BI,
  • Test che simulano il rendering dei report per dispositivi mobili,
  • Test che simulano il rendering di report impaginati di piccole e grandi dimensioni e
  • Test che simulano l'esecuzione di vari tipi di operazioni del portale Web.

Tutti i test sono stati scritti per eseguire un'operazione end-to-end , ad esempio il rendering di un report, la creazione di una nuova origine dati e così via. A tale scopo, effettuare una o più richieste Web al server di report (tramite LE API). Nel mondo reale, un utente potrebbe dover eseguire alcune operazioni intermedie per completare una di queste operazioni end-to-end. Ad esempio, per eseguire il rendering di un report, un utente dovrà passare al portale Web, passare alla cartella in cui si trova il report, quindi fare clic sul report per eseguirne il rendering. Sebbene i test non eseguano tutte le operazioni necessarie per eseguire un'attività end-to-end, impongono comunque la maggior parte del carico che Server di report di Power BI esperienza. Per altre informazioni sui diversi tipi di report usati e sulla varietà di operazioni eseguite, è possibile esplorare il progetto GitHub.

Nota

Lo strumento non è ufficialmente supportato da Microsoft, ma il team del prodotto contribuisce al progetto e risponde ai problemi generati da altri collaboratori.

Carichi di lavoro

Sono disponibili 2 profili di carico di lavoro usati nei test: Power BI Report Heavy e Impaginati Report Heavy. La tabella seguente descrive la distribuzione delle richieste eseguite sul server di report.

Attività Numero elevato di report di Power BI, frequenza di occorrenza Numero elevato di report impaginati, frequenza di occorrenza
Rendering dei report di Power BI 60% 10%
Rendering di report impaginati (RDL) 30% 60%
Rendering dei report per dispositivi mobili %5 20%
Operazioni del portale Web 5% 10%

Caricamento utente

Per ogni esecuzione di test, i test sono stati eseguiti in base alla frequenza specificata in uno dei due carichi di lavoro. Test avviati con 20 richieste utente simultanee al server di report. Il carico utente è stato quindi gradualmente aumentato fino a quando l'affidabilità è diminuita al di sotto della destinazione del 99%.

Risultati

Capacità utente simultanea

Come indicato in precedenza, i test iniziarono con 20 utenti simultanei che effettuano richieste al server di report. Il numero di utenti simultanei è stato quindi gradualmente aumentato fino al 1% di tutte le richieste non riuscite. I risultati nella tabella seguente indicano il numero di richieste utente simultanee che il server sarebbe in grado di gestire con un carico di picco con una percentuale di errori inferiore al 1%.

Carico di lavoro 8 Core/32 GB 16 Core/64 GB
Power BI Report Heavy 50 utenti simultanei 150 utenti simultanei
Report impaginato pesante 100 utenti simultanei 160 utenti simultanei

Capacità totale utente

Microsoft ha una distribuzione di produzione di Server di report di Power BI usata da diversi team. Quando si analizza l'utilizzo effettivo di questo ambiente, si osserva che il numero di utenti simultanei in qualsiasi momento (anche durante il carico massimo giornaliero) non tende a superare il 5% della base utente totale. Usando questo rapporto di concorrenza del 5% come benchmark, abbiamo estrapolato la base di utenti totale Server di report di Power BI potrebbe gestire con affidabilità del 99%.

Carico di lavoro 8 Core/32 GB 16 Core/64 GB
Power BI Report Heavy 1.000 utenti 3.000 utenti
Report impaginato pesante 2.000 utenti 3.200 utenti

Riepilogo

Per ogni esecuzione del test di carico, la CPU è stata la risorsa più sovraccaricata al momento del picco di carico nel computer Server di report di Power BI. A causa di questo, la prima risorsa che deve essere aumentata è il numero di core. In alternativa, è possibile valutare l'aumento del numero di istanze aggiungendo altri server che ospitano Server di report di Power BI nella topologia.

I risultati presentati in questo documento sono stati derivati dall'esecuzione di un set specifico di report che utilizzano un set specifico di dati, ripetuti in modo specifico. È un punto di riferimento utile, ma tenere presente che l'utilizzo dipenderà da report, query, modelli di utilizzo e distribuzione dei Server di report di Power BI.

Appendice

1 Topologia

1.1 topologia Server di report di Power BI

Per concentrarsi esclusivamente sul comportamento Server di report di Power BI in configurazioni diverse, la configurazione della macchina virtuale per ogni tipo di computer (ad eccezione del computer che ospita Server di report di Power BI) è stata corretta. Ogni computer è stato sottoposto a provisioning in base ai computer serie D di seconda generazione (v2) con dischi Archiviazione Premium. È possibile trovare informazioni dettagliate sulle dimensioni di ogni macchina virtuale nella sezione "Utilizzo generico".

Tipo di macchina virtuale Processore Memoria Dimensioni delle macchine virtuali di Azure
Controller Dominio di Active Directory 2 core 7 GB Standard_DS2_v2
SQL Server motore di database e Analysis Services 16 core 56 GB Standard_DS5_v2
Database del server di report 16 core 56 GB Standard_DS5_v2

1.2 Server di report di Power BI Configurazione macchina virtuale

Sono state usate diverse configurazioni di processore e memoria per l'hosting di macchine virtuali Server di report di Power BI. A differenza delle altre macchine virtuali, questo computer è stato sottoposto a provisioning in base alle macchine serie D di terza generazione (v3) con dischi Archiviazione Premium. È possibile trovare informazioni dettagliate su queste dimensioni della macchina virtuale nella sezione "Utilizzo generico"

Macchina virtuale Processore Memoria Dimensioni delle macchine virtuali di Azure
Server di report di Power BI (piccolo) 8 core 32 GB Standard_D8S_v3
Server di report di Power BI (grande) 16 core 64 GB vStandard_D16S_v3

2 Eseguire lo strumento LoadTest

Se si vuole eseguire lo strumento LoadTest di Reporting Services per la distribuzione di Server di report di Power BI o di Microsoft Azure, seguire questa procedura.

  1. Clonare il progetto LoadTest di Reporting Services da GitHub (https://github.com/Microsoft/Reporting-Services-LoadTest).
  2. Nella directory del progetto è disponibile un file di soluzione denominato RSLoadTests.sln. Aprire questo file in Visual Studio 2015 o versione successiva.
  3. Determinare se si vuole eseguire questo strumento sulla distribuzione di Server di report di Power BI o su una distribuzione di Server di report di Power BI in Microsoft Azure. Se si intende eseguirlo con la propria distribuzione, andare al passaggio 5.
  4. Seguire le istruzioni elencate per https://github.com/Microsoft/Reporting-Services-LoadTest#create-a-sql-server-reporting-services-load-environment-in-azure creare un ambiente Server di report di Power BI in Azure.
  5. Al termine della distribuzione dell'ambiente, seguire le istruzioni elencate per https://github.com/Microsoft/Reporting-Services-LoadTest#load-test-execution eseguire i test.

Altre domande? Contattare la community di Power BI