Kapacitástervezési útmutató Power BI jelentéskészítő kiszolgáló

Power BI jelentéskészítő kiszolgáló egy önkiszolgáló BI- és vállalati jelentéskészítési megoldás, amelyet az ügyfelek a tűzfaluk mögött helyezhetnek üzembe a helyszínen. Egyesíti a Power BI Desktop interaktív jelentéskészítési képességét az SQL Server Reporting Services helyszíni kiszolgálóplatformjával. A nagyvállalati elemzések és jelentéskészítés egyre nagyobb mértékű használata esetén a nagyvállalati felhasználói bázisra való skálázáshoz szükséges hardverinfrastruktúra és szoftverlicencek költségvetése kihívást jelenthet. A tanulmány célja, hogy útmutatást nyújtson a Power BI jelentéskészítő kiszolgáló kapacitástervezéséhez a különböző számítási feladatok számos terheléstesztjének eredményeinek jelentéskészítő kiszolgálón való megosztásával. Bár a szervezetek jelentései, lekérdezései és használati mintái nagyban eltérnek egymástól, az ebben a dokumentumban bemutatott eredmények, valamint a ténylegesen használt tesztek és a végrehajtásuk részletes leírása referenciapontként szolgálnak a Power BI jelentéskészítő kiszolgáló üzembe helyezésének korai szakaszában.

Összefoglaló

Két különböző típusú számítási feladatot hajtottunk végre Power BI jelentéskészítő kiszolgáló; mindegyik számítási feladat különböző típusú jelentések megjelenítéséből, valamint különböző webes portálműveletek végrehajtásából állt.

  • A "Power BI Report Heavy" számítási feladatban a leggyakrabban végrehajtott művelet (azaz az idő 60%-ában végrehajtott művelet) Power BI-jelentéseket renderelt.
  • A "Többoldalas jelentés nehéz" számítási feladatban a leggyakrabban végrehajtott művelet a lapszámozott jelentések renderelése volt.

A Power BI jelentéskészítő kiszolgáló négykiszolgálós topológiája és az a várakozás, hogy a felhasználók legfeljebb 5%-a fér hozzá egyszerre egy jelentéskészítő kiszolgálóhoz, az alábbi táblázat azt a maximális számú felhasználót ismerteti, Power BI jelentéskészítő kiszolgáló legalább 99%-os megbízhatósággal tudja kezelni.

Számítási feladat 8 Mag/32 GB RAM 16 Mag/64 GB RAM
Power BI-jelentés nehéz (>60%) 1000 felhasználó 3000 felhasználó
Többoldalas (RDL) jelentés nehéz (>60%) 2000 felhasználó 3200 felhasználó

Minden futtatás során a leginkább túlterhelt erőforrás a CPU volt. Emiatt a magok számának Power BI jelentéskészítő kiszolgáló növelése nagyobb nyereséget eredményezne a rendszer megbízhatóságában, mint a memória vagy a merevlemez-terület növelése.

Tesztelési módszertan

A használt tesztelési topológia gyártóspecifikus fizikai hardver helyett a Microsoft Azure-beli virtuális gépeken alapult. Az összes gépet az USA régióiban üzemeltették. Ez a hardvervirtualizálás általános trendjének felel meg mind a helyszíni, mind a nyilvános felhőben.

Power BI jelentéskészítő kiszolgáló topológia

A Power BI jelentéskészítő kiszolgáló üzembe helyezése a következő virtuális gépekből állt:

  • Active Directory-tartomány vezérlő: erre az SQL Server adatbázismotor, az SQL Server Analysis Services és a Power BI jelentéskészítő kiszolgáló volt szükség az összes kérés biztonságos hitelesítéséhez.
  • SQL Server Adatbázismotor és SQL Server Analysis Services: itt tároltuk a jelentésekhez használt összes adatbázist a rendereléskor.
  • Power BI jelentéskészítő kiszolgáló
  • Power BI jelentéskészítő kiszolgáló adatbázis. A jelentéskészítő kiszolgáló adatbázisa a Power BI jelentéskészítő kiszolgáló-nél más gépen van üzemeltetve, így nem kell versenyeznie az SQL Server adatbázismotorjával a memória-, a CPU-, a hálózati és a lemezerőforrásokért.

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

A topológiában használt összes virtuális gép részletes konfigurálásához lásd az 1.1. függelék Power BI jelentéskészítő kiszolgáló topológiáját és az 1.2. függeléket Power BI jelentéskészítő kiszolgáló virtuális gépek konfigurációját.

Tesztek

A terheléses tesztfuttatásokban használt tesztek nyilvánosan elérhetők a Reporting Services LoadTest nevű GitHub-projektben. Ez az eszköz lehetővé teszi a felhasználók számára az SQL Server Reporting Services és Power BI jelentéskészítő kiszolgáló teljesítményének, megbízhatóságának, méretezhetőségének és helyreállíthatósági jellemzőinek tanulmányozását. Ez a projekt négy tesztesetcsoportból áll:

  • Power BI-jelentések renderelését szimuláló tesztek,
  • Mobiljelentések renderelését szimuláló tesztek,
  • Kis és nagy lapszámozott jelentések renderelését szimuláló tesztek, és
  • Különböző típusú webportál-műveleteket szimuláló tesztek.

Az összes teszt egy teljes körű művelet végrehajtására lett megírva (például jelentés renderelése, új adatforrás létrehozása stb.). Ezt úgy hajtják végre, hogy egy vagy több webes kérést küldenek a jelentéskészítő kiszolgálónak (API-kon keresztül). A valós világban előfordulhat, hogy a felhasználónak néhány köztes műveletet kell végrehajtania ezeknek a végpontok közötti műveleteknek a elvégzéséhez. Ha például egy jelentést szeretne megjeleníteni, a felhasználónak a webes portálra kell lépnie, keresse meg azt a mappát, amelyben a jelentés található, majd kattintson a jelentésre a megjelenítéshez. Bár a tesztek nem hajtanak végre minden olyan műveletet, amely egy teljes körű feladat végrehajtásához szükséges, mégis a Power BI jelentéskészítő kiszolgáló által tapasztalt terhelés nagy részét terhelik. A GitHub-projekt feltárásával többet is megtudhat a különböző típusú jelentésekről, valamint az elvégzett műveletek változatosságáról.

Megjegyzés:

Az eszközt hivatalosan nem támogatja a Microsoft, de a termékcsapat hozzájárul a projekthez, és megválaszolja a más közreműködők által felvetett problémákat.

Számítási feladatok

A teszteléshez 2 számítási feladatprofilt használnak: a Power BI Jelentés nehéz és a Többoldalas jelentés nehéz. Az alábbi táblázat a jelentéskészítő kiszolgálón végrehajtott kérelmek elosztását ismerteti.

Tevékenys. Power BI-jelentés – Nehéz, előfordulás gyakorisága Többoldalas jelentés nagy száma, előfordulás gyakorisága
Power BI-jelentések renderelése 60% 10%
Lapszámozott (RDL-) jelentések renderelése 30% 60%
Mobiljelentések renderelése 5% 20%
Webportál műveletei 5% 10%

Felhasználói terhelés

Minden tesztfuttatáshoz a teszteket a két számítási feladat egyikében megadott gyakoriság alapján hajtották végre. A tesztek 20 egyidejű felhasználói kéréssel kezdődtek a jelentéskészítő kiszolgáló felé. Ezt követően fokozatosan növelték a felhasználói terhelést, amíg a megbízhatóság a 99%-os cél alá nem csökkent.

Results (Eredmények)

Egyidejű felhasználói kapacitás

Ahogy korábban említettem, a tesztek 20 egyidejű felhasználóval kezdődtek, és kéréseket intéztek a jelentéskészítő kiszolgálóhoz. Az egyidejű felhasználók száma ezután fokozatosan növekedett, amíg az összes kérés 1%-a sikertelen volt. Az alábbi táblázatban szereplő eredmények azt jelzik, hogy hány egyidejű felhasználói kérést képes kezelni a kiszolgáló csúcsterhelés mellett, és a hibaarány kisebb, mint 1%.

Számítási feladat 8 Mag/32 GB 16 Mag/64 GB
Power BI-jelentés – nehéz 50 egyidejű felhasználó 150 egyidejű felhasználó
Többoldalas jelentés nehéz 100 egyidejű felhasználó 160 egyidejű felhasználó

Teljes felhasználói kapacitás

A Microsoftnál éles környezetben üzembe helyeztük a Power BI jelentéskészítő kiszolgáló, amelyet több csapat is használt. A környezet tényleges használatának elemzésekor megfigyeljük, hogy az egyidejű felhasználók száma egy adott időpontban (még a napi csúcsterhelés során is) általában nem haladja meg a teljes felhasználói bázis 5%-át. Ezt az 5%-os egyidejűségi arányt viszonyítási alapként használva extrapoláltuk a teljes felhasználói bázist, Power BI jelentéskészítő kiszolgáló 99%-os megbízhatósággal kezelhető.

Számítási feladat 8 Mag/32 GB 16 Mag/64 GB
Power BI-jelentés – nehéz 1000 felhasználó 3000 felhasználó
Többoldalas jelentés nehéz 2000 felhasználó 3200 felhasználó

Összefoglalás

Az egyes terheléstesztek futtatásakor a cpu volt a legnagyobb terhelésű erőforrás a Power BI jelentéskészítő kiszolgáló gép csúcsterhelésének időpontjában. Emiatt az első növelendő erőforrás a magok száma. Másik lehetőségként megfontolhatja a horizontális felskálázást, ha további Power BI jelentéskészítő kiszolgáló üzemeltető kiszolgálókat ad hozzá a topológiához.

Az ebben a dokumentumban bemutatott eredmények abból származnak, hogy egy adott adathalmazt használó jelentések meghatározott halmazát hajtják végre, meghatározott módon megismételve. Hasznos referenciapont, de ne feledje, hogy a használat a jelentésektől, a lekérdezésektől, a használati mintáktól és a Power BI jelentéskészítő kiszolgáló üzembe helyezésétől függ.

Függelék

1 Topológia

1.1 Power BI jelentéskészítő kiszolgáló topológia

A különböző konfigurációkban Power BI jelentéskészítő kiszolgáló viselkedésre való összpontosításhoz az egyes géptípusok virtuálisgép-konfigurációja (kivéve a Power BI jelentéskészítő kiszolgáló üzemeltető gépet) rögzítették. Mindegyik gép a második generációs (v2) D sorozatú, Prémium szintű tárolólemezekkel rendelkező gépeknek megfelelően lett kiépítve. Az egyes virtuálisgép-méretekről az "Általános célú" szakaszban talál részletes információkat.

Virtuális gép típusa Adatfeldolgozó Memory (Memória) Azure-beli virtuális gép mérete
Active Directory-tartomány vezérlő 2 mag 7 GB Standard_DS2_v2
SQL Server Adatbázismotor és Analysis Services 16 mag 56 GB Standard_DS5_v2
Jelentéskészítő kiszolgáló adatbázisa 16 mag 56 GB Standard_DS5_v2

1.2 Power BI jelentéskészítő kiszolgáló virtuális gép konfigurációja

A processzor és a memória különböző konfigurációit használták a Power BI jelentéskészítő kiszolgáló üzemeltető virtuális géphez. A többi virtuális géptől eltérően ez a gép a harmadik generációs (v3) D sorozatú, prémium szintű tárolólemezekkel rendelkező gépeknek megfelelően lett kiépítve. Erről a virtuálisgép-méretről az "Általános célú" szakaszban talál részletes információt

Virtuális gép Adatfeldolgozó Memory (Memória) Azure-beli virtuális gép mérete
Power BI jelentéskészítő kiszolgáló (kicsi) 8 mag 32 GB Standard_D8S_v3
Power BI jelentéskészítő kiszolgáló (nagy) 16 mag 64 GB vStandard_D16S_v3

2 A LoadTest eszköz futtatása

Ha futtatni szeretné a Reporting Services LoadTest eszközt a Power BI jelentéskészítő kiszolgáló Microsoft Azure-beli üzembe helyezésén, kövesse az alábbi lépéseket.

  1. Klónozza a Reporting Services LoadTest-projektet a GitHubról (https://github.com/Microsoft/Reporting-Services-LoadTest).
  2. A projektkönyvtárban talál egy RSLoadTests.sln nevű megoldásfájlt. Nyissa meg ezt a fájlt a Visual Studio 2015-ben vagy újabb verziójában.
  3. Állapítsa meg, hogy az eszközt a Power BI jelentéskészítő kiszolgáló telepítése vagy Power BI jelentéskészítő kiszolgáló a Microsoft Azure-ban való üzembe helyezése ellen szeretné-e futtatni. Ha a saját üzembe helyezésével szeretné futtatni, folytassa az 5. lépéssel.
  4. Kövesse a felsorolt https://github.com/Microsoft/Reporting-Services-LoadTest#create-a-sql-server-reporting-services-load-environment-in-azure utasításokat egy Power BI jelentéskészítő kiszolgáló-környezet Azure-ban való létrehozásához.
  5. Miután befejezte a környezet üzembe helyezését, kövesse a felsorolt https://github.com/Microsoft/Reporting-Services-LoadTest#load-test-execution utasításokat a tesztek futtatásához.

Van még esetleg kérdése? Kérdezze meg a Power BI-közösség