Zdieľať cez


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.

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

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.

  1. Naklonujte projekt Reporting Services LoadTest z GitHubu (https://github.com/Microsoft/Reporting-Services-LoadTest).
  2. 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.
  3. 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.
  4. 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 .
  5. 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