Sprievodný materiál k plánovaniu kapacity Power BI Report Servera
Power BI Report Server je riešenie so samoobslužnou službou BI a podnikovou zostavou, ktoré môžu zákazníci nasadiť lokálne za bránou firewall. Spája v sebe funkciu interaktívnych zostáv aplikácie Power BI Desktop s lokálnou serverovú platformou služby SQL Server Reporting Services. Analýza a vytváranie zostáv sa vo veľkých podnikoch intenzívne využíva. Preto môže byť vyťaženie hardvérovej infraštruktúry a softvérových licencií potrebných na škálovanie na podnikovú používateľskú základňu výzvou. Táto dokumentácia by vám mohla pomôcť pri plánovaní kapacity Power BI Report Servera. Je založená na mnohých výsledkoch záťažových testov pri rozličných vyťaženiach servera zostáv. Hoci zostavy, dotazy a spôsoby ich používania sú v organizácii iné, výsledky uvedené v tomto dokumente spolu so skutočnými testmi a podrobným opisom toho, ako boli vykonané, slúžia ako referenčný materiál pre každého, kto začína plánovať nasadenie Power BI Report Servera.
Zhrnutie
Na Power BI Report Serveri sme vykonali dva typy záťažových úloh. Každé vyťaženie pozostávalo z vykresľovania rôznych typov zostáv a z vykonávania rôznych operácií na webovom portáli.
- Pri záťažovej úlohe Power BI Report Heavy bolo najčastejšie vykonávaným úkonom vykresľovanie zostáv Power BI (operácia sa vykonávala 60 % času).
- Pri záťažovej úlohe Paginated Report Heavy bolo najčastejšie vykonávanou operáciou vykresľovanie stránkovaných zostáv.
Nasledujúca tabuľka opisuje maximálny počet používateľov, s ktorými Power BI Report Server dokáže pracovať so spoľahlivosťou najmenej 99 %. To znamená, že pre štvorserverovú topológiu Power BI Report Servera očakáva, že v akomkoľvek čase bude k serveru zostáv pristupovať naraz maximálne 5 % používateľov.
Záťaž | 8 jadier/32 GB RAM | 16 jadier/64 GB RAM |
---|---|---|
Power BI Report Heavy (>60 %) | 1 000 používateľov | 3 000 používateľov |
Paginated (RDL) Report Heavy (>60%) | 2 000 používateľov | 3 200 používateľov |
Pri každom spustení bol najviac zaťažený procesor. Preto väčší počet jadier Power BI Report Servera zvýši spoľahlivosť systému vo väčšej miere ako zväčšenie objemu pamäte alebo pevného disku.
Metodológia testu
Topológia, ktorá sa používala pri testovaní, nebola založená na fyzickom hardvéri od konkrétneho dodávateľa, ale na virtuálnych počítačoch služby Microsoft Azure. Všetky počítače boli hosťované v oblastiach USA. Odzrkadľuje to všeobecný trend virtualizácie hardvéru, či už lokálne alebo vo verejnom cloude.
Topológia Power BI Report Servera
Power BI Report Server bol nasadený v týchto virtuálnych počítačoch:
- Radič domény Active Directory: bol potrebný pre databázový nástroj aplikácie SQL Server, službu SQL Server Analysis Services a Power BI Report Server na bezpečné overovanie všetkých požiadaviek.
- Databázový nástroj aplikácie SQL Server a služba SQL Server Analysis Services: tu sme počas vykresľovania ukladali všetky databázy pre zostavy, ktoré sa mali používať.
- Power BI Report Server
- Databáza Power BI Report Servera. Databáza servera zostáv bola hosťovaná v inom počítači ako Power BI Report Server, a tak sa databázový nástroj aplikácie SQL Server nemusel súťažiť o pamäť, procesor, sieť a disk.
Presná konfigurácia každého virtuálneho počítača použitého v topológii je presná v dodatku v časti 1.1 Topológia Power BI Report Servera a 1.2 Konfigurácia virtuálneho počítača Power BI Report Servera.
Testy
Testy, ktoré sa pri záťažovej záťažovej záťaži používali, sú verejne dostupné v projekte GitHub s názvom Reporting Services LoadTest. Tento nástroj umožňuje používateľom preskúmať výkon, spoľahlivosť, škálovateľnosť a obnoviteľnosť služby SQL Server Reporting Services a Power BI Report Servera. Tento projekt sa skladá zo štyroch skupín testovacích prípadov:
- Testy, ktoré simulujú vykresľovanie zostáv Power BI.
- Testy, ktoré simulujú vykresľovanie mobilných zostáv.
- Testy, ktoré simulujú malé a veľké stránkované zostavy.
- Testy, ktoré simulujú vykonávanie rôznych operácií na webovom portáli.
Všetky testy boli napísané tak, aby vykonávali komplexné operácie (ako je vykresľovanie zostavy, vytvorenie nového zdroja údajov atď.). V tomto prípade sa to dosahuje pomocou jednej alebo viacerých webových požiadaviek na server zostáv (cez rozhrania API). V reálnom svete môže používateľ potrebovať na dokončenie jednej úplnej operácie niekoľko pomocných operácií. Ak chce používateľ napríklad vykresliť zostavu, musí prejsť na webový portál, prejsť do priečinka, v ktorom sa zostava nachádza, a kliknúť na zostavu. Hoci sa pri testoch nevykonávajú všetky operácie, ktoré sú na uskutočnenie úlohy v celom kroku potrebné, zaťažuje sa Power BI Report Server tak ako pri reálnom použití. Ak sa pozriete na projekt GitHub, dozviete sa viac o rôznych používaných zostavách a širokej škále vykonaných operácií.
Poznámka
Nástroj nie je oficiálne podporovaný spoločnosťou Microsoft, ale produktový tím prispieva k projektu a odpovie na problémy, ktoré predložia iní prispievatelia.
Vyťaženia
Pri testovaní sa používajú 2 profily záťažových úloh: Power BI Report Heavy a Paginated Report Heavy. Nasledujúca tabuľka popisuje distribúciu požiadaviek, ktoré boli vykonané na serveri zostáv.
Aktivita | Power BI Report Heavy, frekvencia výskytov | Paginated Report Heavy, frekvencia výskytov |
---|---|---|
Vykresľovanie zostáv Power BI | 60 % | 10 % |
Vykresľovanie stránkovaných zostáv (RDL) | 30 % | 60 % |
Vykresľovanie mobilných zostáv | 5% | 20 % |
Operácie na webovom portáli | 5% | 10 % |
Zaťaženie používateľmi
Pri každom spustení boli testy vykonané na základe frekvencie uvedenej v jednej zo záťažových úloh. Na začiatku testovania sa na server zostáv spustili požiadavky 20 súbežných používateľov. Zaťaženie používateľmi sa postupne zvyšovalo, až kým spoľahlivosť neklesla pod hranicu 99 %.
Výsledky
Kapacita súbežných používateľov
Ako bolo uvedené vyššie, na začiatku testov sa na server zostáv odosielali požiadavky 20 súbežných používateľov. Počet súbežných používateľov sa postupne zvyšoval, až kým nezlúčilo 1 % všetkých požiadaviek. V nasledujúcej tabuľke je počet požiadaviek od súbežných používateľov, ktoré bol server schopný spracovať pri špičkovej záťaži s chybovosťou menej ako 1 %.
Záťaž | 8 jadier/32 GB | 16 jadier/64 GB |
---|---|---|
Power BI Report Heavy | 50 súbežných používateľov | 150 súbežných používateľov |
Paginated Report Heavy | 100 súbežných používateľov | 160 súbežných používateľov |
Celková kapacita používateľov
V spoločnosti Microsoft využíva produkčné nasadenie Power BI Report Servera niekoľko tímov. Pri analýze aktuálneho využitia tohto prostredia sme si všimli, že počet súbežných používateľov v akomkoľvek čase (dokonca ani pri špičkovej záťaži počas dňa) nemal tendenciu prekročiť 5 % celkového počtu používateľov. Na základe tohto 5-percentného pomeru súbežnosti sme extrapolovali celkový počet používateľov, s ktorými môže Power BI Report Server pracovať so spoľahlivosťou 99 %.
Záťaž | 8 jadier/32 GB | 16 jadier/64 GB |
---|---|---|
Power BI Report Heavy | 1 000 používateľov | 3 000 používateľov |
Paginated Report Heavy | 2 000 používateľov | 3 200 používateľov |
Súhrn
Pri každom spustení záťažového testu bol procesor pri špičkovej záťaži najvyťaženejším prostriedkom v počítači s Power BI Report Serverom. Z tohto dôvodu je prvým prostriedkom, ktorý by sa mal zvýšiť, počet jadier. Ďalšou možnosťou, ktorá prináša topológiu, je zvážiť škálovanie, teda pridanie ďalších serverov, na ktoré bude hosťovaný Power BI Report Server.
Výsledky uvedené v tomto dokumente sa získali spustením konkrétnej množiny zostáv, ktoré používali konkrétnu množinu údajov a opakovali sa konkrétnym spôsobom. Hoci je to užitočný referenčný bod, pamätajte na to, že vo vašom prípade bude využitie záležať na vašich zostavách, dotazoch, spôsobe ich používania a na nasadení Vášho Power BI Report Servera.
Dodatku
1 Topológia
1.1 Topológia Power BI Report Servera
Chceli sme sa zamerať hlavne na správanie Power BI Report Servera pri rôznych konfiguráciách, a tak bola konfigurácia každého virtuálneho počítača (okrem počítača, na ktorom bol hosťovaný Power BI Report Server) pevná. Každý počítač bol vybavený podľa druhej generácie (v2) počítačov série D úložnými diskami Premium. Podrobné informácie o veľkosti každého virtuálneho počítača nájdete v časti General Purpose (Všeobecné použitie).
Typ virtuálneho počítača | Sprostredkovateľ | Pamäť | Veľkosť virtuálneho počítača Azure |
---|---|---|---|
Radič domény Active Directory | 2 jadrá | 7 GB | Standard_DS2_v2 |
Databázový nástroj aplikácie SQL Server a služba Analysis Services | 16 jadier | 56 GB | Standard_DS5_v2 |
Databáza servera zostáv | 16 jadier | 56 GB | Standard_DS5_v2 |
1.2 Konfigurácia virtuálneho počítača Power BI Report Servera
Virtuálny počítač, na ktorom bol hosťovanie Power BI Report Servera, mal odlišnú konfiguráciu procesora a pamäte. Na rozdiel od iných virtuálnych počítačov bol tento počítač vybavený podľa tretej generácie (v3) počítačov série D úložnými diskami Premium. Podrobné informácie o veľkosti tohto virtuálneho počítača nájdete v časti General Purpose (Všeobecné použitie)
Virtuálny počítač | Sprostredkovateľ | Pamäť | Veľkosť virtuálneho počítača Azure |
---|---|---|---|
Power BI Report Server (malý) | 8 jadier | 32 GB | Standard_D8S_v3 |
Power BI Report Server (veľký) | 16 jadier | 64 GB | vStandard_D16S_v3 |
2\. Spustenie nástroja LoadTest
Ak chcete spustiť nástroj Reporting Services LoadTest na testovanie Power BI Report Servera, ktorý je nasadený u vás alebo v službe Microsoft Azure, postupujte podľa týchto krokov.
- Naklonujte projekt Reporting Services LoadTest z GitHubu (https://github.com/Microsoft/Reporting-Services-LoadTest).
- V adresári projektu nájdete súbor riešenia s názvom RSLoadTests.sln. Otvorte tento súbor vo Visual Studiu 2015 alebo v novšej verzii.
- Rozhodnite sa, či chcete spustiť tento nástroj proti nasadeniu Power BI Report Servera alebo proti nasadeniu Power BI Report Servera v službe Microsoft Azure. Ak chcete vykonať spustenie na základe vlastného nasadenia, prejdite na 5. krok.
- Ak chcete vytvoriť prostredie Power BI Report Servera v Azure, postupujte podľa pokynov uvedených na https://github.com/Microsoft/Reporting-Services-LoadTest#create-a-sql-server-reporting-services-load-environment-in-azure stránke .
- Keď s nasadením prostredia skončíte, postupujte podľa pokynov na spustenie testov, ktoré sú uvedené na https://github.com/Microsoft/Reporting-Services-LoadTest#load-test-execution stránke .
Máte ďalšie otázky? Skúste sa spýtať Komunita Power BI