Pomoc pri plánovaní kapacity Power BI Report Servera

Power BI Report Server je riešenie so samoobslužnými funkciami BI, ktoré umožňuje vytvárať podnikové zostavy. Zákazníci ho môžu nasadiť lokálne za bránou firewall. Spája v sebe funkciu interaktívnych zostáv aplikácie Power BI Desktop s lokálnou serverovou platformou služby SQL Server Reporting Services. Analýza a vytváranie zostáv sa vo veľkých podnikoch intenzívne využívajú. Preto môže byť v takých podnikoch náročné plánovať hardvérovú infraštruktúru a softvérové licencie pre veľký počet používateľov. Táto dokumentácia by vám mala 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 každej 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á úloha sa skladala z vykresľovania rozličných typov zostáv a z vykonávania rozličných operácií na webovom portáli.

  • Pri záťažovej úlohe Power BI Report Heavy bolo najčastejšie vykonávanou operáciou vykresľovanie zostáv Power BI (t.j. 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, ktorých je Power BI Report Server schopný obslúžiť so spoľahlivosťou najmenej 99 %. Test bol vykonaný pre štvorserverovú topológiu Power BI Report Servera a predpokladalo sa, že v akomkoľvek čase bude k serveru zostáv pristupovať naraz maximálne 5 % používateľov.

Záťažová úloha 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 teste 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 kapacity 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 boli uložené všetky databázy zobrazovaných zostáv, keď sme ich vykresľovali.
  • 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 deliť o pamäť, procesor, sieť a disk.

Diagram znázorňujúci vzťahy medzi Power B I Report Serverom, službou Active Directory a pridruženými databázami.

Presná konfigurácia každého virtuálneho počítača použitého v topológii je opísaná 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žových úlohách používali, sú verejne dostupné v projekte GitHub s názvom Reporting Services LoadTest. Tento nástroj umožňuje používateľom zistiť 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 úplné operácie (ako je vykresľovanie zostáv, vytváranie nového zdroja údajov atď.). V testoch sa to dosahuje pomocou jednej alebo viacerých webových požiadaviek na server zostáv (cez rozhrania API). Pri skutočnej práci môže používateľ potrebovať na dokončenie jednej úplnej operácie menej čiastkových operácií. Ak chce používateľ napríklad vykresliť zostavu, musí prejsť na webový portál, potom 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 rozsahu potrebné, aj tak predstavujú pre Power BI Report Server väčšinu záťaže ako pri reálnom použití. Ak sa pozriete na projekt GitHub, dozviete sa viac o rozličných zostavách, ktoré boli pri testovaní použité, ako aj o všetkých vykonaných operáciách.

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. V tabuľke, ktorá je uvedená nižšie, je opísané rozloženie 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 odoslali 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 požiadaviek

Ako bolo uvedené vyššie, na začiatku testovania sa na server zostáv odoslali 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 nezlyhalo 1 % všetkých požiadaviek. V nasledujúcej tabuľke je uvedený 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žová úloha 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 koeficientu súbežného používania sme extrapoláciou zistili celkový počet používateľov, ktorých je Power BI Report Server schopný obslúžiť so spoľahlivosťou 99 %.

Záťažová úloha 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 prvkom počítača s Power BI Report Serverom. Vzhľadom na to treba v prvom rade zvýšiť počet jadier procesora. Ďalšou možnosťou, ktorá prichádza do úvahy, je rozšíriť topológiu, teda pridať do nej ďalšie servery, na ktorých bude hosťovaný Power BI Report Server.

Výsledky uvedené v tomto dokumente sa získali spustením konkrétnej skupiny zostáv, ktoré používali konkrétnu množinu údajov a opakovali sa konkrétnym spôsobom. Hoci je to užitočný východiskový materiál, pamätajte však 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.

Dodatok

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) rovnaká. 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 Procesor 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ťovaný Power BI Report Server, 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č Procesor 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, ktorý sa nazýva RSLoadTests.sln. Otvorte tento súbor vo Visual Studiu 2015 alebo v novšej verzii.
  3. Rozhodnite sa, či chcete týmto nástrojom testovať Power BI Report Server, ktorý je nasadený u vás, alebo ktorý je nasadený v službe Microsoft Azure. Ak chcete týmto nástrojom testovať server, ktorý je nasadený u vás, prejdite na 5. krok.
  4. Ak chcete vytvoriť prostredie Power BI Report Servera v Azure, postupujte podľa pokynov uvedených na lokalite https://github.com/Microsoft/Reporting-Services-LoadTest#create-a-sql-server-reporting-services-load-environment-in-azure.
  5. Keď s nasadením prostredia skončíte, postupujte podľa pokynov na spustenie testov, ktoré sú uvedené na stránke https://github.com/Microsoft/Reporting-Services-LoadTest#load-test-execution.

Máte ďalšie otázky? Skúste sa spýtať v komunite Power BI