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.
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.
- Clonare il progetto LoadTest di Reporting Services da GitHub (https://github.com/Microsoft/Reporting-Services-LoadTest).
- Nella directory del progetto è disponibile un file di soluzione denominato RSLoadTests.sln. Aprire questo file in Visual Studio 2015 o versione successiva.
- 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.
- 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.
- 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
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per