Udostępnij za pośrednictwem


Wskazówki dotyczące planowania pojemności dla Serwer raportów usługi Power BI

Serwer raportów usługi Power BI to samoobsługowe rozwiązanie do raportowania analizy biznesowej i przedsiębiorstwa, które klienci mogą wdrażać lokalnie za zaporą. Łączy on interaktywną funkcję raportów programu Power BI Desktop z lokalną platformą serwera usług SQL Server Reporting Services. W przypadku dużego i rosnącego użycia analiz i raportowania w przedsiębiorstwach budżetowanie infrastruktury sprzętowej i licencji na oprogramowanie wymagane do skalowania do bazy użytkowników przedsiębiorstwa może być wyzwaniem. Ten dokument ma na celu zaoferowanie wskazówek dotyczących planowania pojemności dla Serwer raportów usługi Power BI przez udostępnienie wyników wielu wykonań testów obciążeniowych różnych obciążeń na serwerze raportów. Chociaż raporty, zapytania i wzorce użycia organizacji różnią się znacznie, wyniki przedstawione w tym dokumencie, wraz z rzeczywistymi używanymi testami i szczegółowym opisem sposobu ich wykonania, służą jako punkt odniesienia dla każdego we wczesnym etapie procesu planowania wdrażania Serwer raportów usługi Power BI.

Streszczenie

Wykonaliśmy dwa różne typy obciążeń względem Serwer raportów usługi Power BI; każde obciążenie składało się z renderowania różnych typów raportów, a także wykonywania różnych operacji w portalu internetowym.

  • W obciążeniu "Power BI Report Heavy" najczęściej wykonywana operacja (tj. operacja wykonana 60% czasu) renderowała raporty usługi Power BI.
  • W obciążeniu "Raport podzielony na strony" najczęściej wykonywana operacja była renderowaniem raportów podzielonych na strony.

W ramach topologii czterech serwerów Serwer raportów usługi Power BI i oczekiwania, że nie więcej niż 5% użytkowników będzie w dowolnym momencie uzyskiwać dostęp do serwera raportów, w poniższej tabeli opisano maksymalną liczbę użytkowników, Serwer raportów usługi Power BI może obsłużyć co najmniej 99% niezawodności.

Obciążenie 8 rdzeni/32 GB pamięci RAM 16 rdzeni/64 GB pamięci RAM
Power BI Report Heavy (>60%) 1000 użytkowników 3000 użytkowników
Raporty podzielone na strony (RDL) Heavy (>60%) 2000 użytkowników 3200 użytkowników

W każdym przebiegu najbardziej przytłoczonym zasobem był procesor CPU. W związku z tym zwiększenie liczby rdzeni do Serwer raportów usługi Power BI spowodowałoby większy wzrost niezawodności systemu niż zwiększenie ilości pamięci lub miejsca na dysku twardym.

Metodologia testowania

Używana topologia testowania była oparta na maszynach wirtualnych platformy Microsoft Azure zamiast sprzętu fizycznego specyficznego dla dostawcy. Wszystkie maszyny były hostowane w regionach USA. Odzwierciedla to ogólny trend wirtualizacji sprzętu zarówno lokalnie, jak i w chmurze publicznej.

topologia Serwer raportów usługi Power BI

Wdrożenie Serwer raportów usługi Power BI składało się z następujących maszyn wirtualnych:

  • kontroler domena usługi Active Directory: było to wymagane przez aparat bazy danych programu SQL Server, usługi SQL Server Analysis Services i Serwer raportów usługi Power BI w celu bezpiecznego uwierzytelniania wszystkich żądań.
  • Aparat bazy danych programu SQL Server i usługi SQL Server Analysis Services: w tym miejscu przechowywaliśmy wszystkie bazy danych dla raportów używanych podczas ich renderowania.
  • Serwer raportów usługi Power BI
  • Serwer raportów usługi Power BI Database. Baza danych serwera raportów jest hostowana na innej maszynie niż Serwer raportów usługi Power BI, aby nie musiała konkurować z aparatem bazy danych programu SQL Server dla zasobów pamięci, procesora CPU, sieci i dysku.

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

Zobacz Dodatek 1.1 Serwer raportów usługi Power BI Topologia i Dodatek 1.2 Serwer raportów usługi Power BI Konfiguracja maszyny wirtualnej, aby uzyskać dokładną konfigurację każdej maszyny wirtualnej używanej w topologii.

Testy

Testy używane w przebiegach testów obciążeniowych są publicznie dostępne w projekcie Usługi GitHub o nazwie Reporting Services LoadTest. To narzędzie umożliwia użytkownikom badanie cech wydajności, niezawodności, skalowalności i możliwości odzyskiwania usług SQL Server Reporting Services i Serwer raportów usługi Power BI. Ten projekt składa się z czterech grup przypadków testowych:

  • Testy symulujące renderowanie raportów usługi Power BI,
  • Testy symulujące renderowanie raportów dla urządzeń przenośnych,
  • Testy symulujące renderowanie małych i dużych raportów podzielonych na strony oraz
  • Testy symulujące wykonywanie różnych typów operacji w portalu internetowym.

Wszystkie testy zostały napisane w celu wykonania kompleksowej operacji (na przykład renderowania raportu, tworzenia nowego źródła danych itp.). Umożliwiają one wykonywanie co najmniej jednego żądania internetowego na serwerze raportów (za pośrednictwem interfejsów API). W świecie rzeczywistym użytkownik może wymagać wykonania kilku pośrednich operacji, aby wykonać jedną z tych operacji end-to-end. Na przykład aby renderować raport, użytkownik musi przejść do portalu internetowego, przejść do folderu, w którym znajduje się raport, a następnie kliknąć raport, aby go renderować. Mimo że testy nie wykonują wszystkich operacji potrzebnych do wykonania kompleksowego zadania, nadal nakładają większość obciążenia, które Serwer raportów usługi Power BI byłyby doświadczane. Możesz dowiedzieć się więcej o różnych typach raportów używanych, a także o różnych operacjach wykonywanych przez eksplorowanie projektu GitHub.

Uwaga

Narzędzie nie jest oficjalnie obsługiwane przez firmę Microsoft, ale zespół produktu współtworzy projekt i odpowiada na problemy zgłaszane przez innych współautorów.

Pakiety robocze

W testowaniu są używane 2 profile obciążeń: Power BI Report Heavy i Report Heavy z podziałem na strony. W poniższej tabeli opisano rozkład żądań wykonywanych na serwerze raportów.

Aktywność Power BI Report Heavy, częstotliwość występowania Report Heavy z podziałem na strony, częstotliwość występowania
Renderowanie raportów usługi Power BI 60% 10%
Renderowanie raportów podzielonych na strony (RDL) 30% 60%
Renderowanie raportów dla urządzeń przenośnych 5% 20%
Operacje portalu internetowego 5% 10%

Ładowanie użytkownika

Dla każdego przebiegu testu testy zostały wykonane na podstawie częstotliwości określonej w jednym z dwóch obciążeń. Testy rozpoczęły się od 20 równoczesnych żądań użytkowników do serwera raportów. Obciążenie użytkownika było następnie stopniowo zwiększane, aż niezawodność spadnie poniżej celu 99%.

Wyniki

Współbieżna pojemność użytkownika

Jak wspomniano wcześniej, testy rozpoczęły się od 20 równoczesnych użytkowników wysyłających żądania do serwera raportów. Liczba równoczesnych użytkowników została następnie stopniowo zwiększona do 1% wszystkich żądań zakończonych niepowodzeniem. Wyniki w poniższej tabeli informują nas o liczbie współbieżnych żądań użytkowników, że serwer będzie w stanie obsłużyć szczytowe obciążenie z szybkością awarii mniejszą niż 1%.

Obciążenie 8 rdzeni/32 GB 16 Rdzeni/64 GB
Power BI Report Heavy 50 równoczesnych użytkowników 150 równoczesnych użytkowników
Raport podzielony na strony Heavy 100 równoczesnych użytkowników 160 równoczesnych użytkowników

Łączna pojemność użytkownika

W firmie Microsoft mamy wdrożenie produkcyjne Serwer raportów usługi Power BI używane przez kilka zespołów. Podczas analizowania rzeczywistego użycia tego środowiska obserwujemy, że liczba równoczesnych użytkowników w danym momencie (nawet podczas dziennego szczytowego obciążenia) nie przekracza 5% całkowitej bazy użytkowników. Korzystając z tego współczynnika współbieżności na poziomie 5% jako testu porównawczego, ekstrapolowaliśmy łączną bazę użytkowników Serwer raportów usługi Power BI może obsłużyć niezawodność 99%.

Obciążenie 8 rdzeni/32 GB 16 Rdzeni/64 GB
Power BI Report Heavy 1000 użytkowników 3000 użytkowników
Raport podzielony na strony Heavy 2000 użytkowników 3200 użytkowników

Podsumowanie

W przypadku każdego przebiegu testu obciążeniowego procesor CPU był najbardziej przeciążonym zasobem w momencie szczytowego obciążenia maszyny Serwer raportów usługi Power BI. W związku z tym pierwszy zasób, który należy zwiększyć, to liczba rdzeni. Alternatywnie możesz rozważyć skalowanie w poziomie, dodając więcej serwerów hostujących Serwer raportów usługi Power BI w topologii.

Wyniki przedstawione w tym dokumencie pochodzą z wykonywania określonego zestawu raportów zużywających określony zestaw danych, powtarzanych w określony sposób. Jest to przydatny punkt odniesienia, ale pamiętaj, że użycie będzie zależeć od raportów, zapytań, wzorców użycia i wdrożenia Serwer raportów usługi Power BI.

Dodatek

1 Topologia

1.1 topologia Serwer raportów usługi Power BI

Aby skoncentrować się wyłącznie na Serwer raportów usługi Power BI zachowaniu w różnych konfiguracjach, konfiguracja maszyny wirtualnej dla każdego typu maszyny (z wyjątkiem maszyn hostowania Serwer raportów usługi Power BI) została naprawiona. Każda maszyna została aprowizowana zgodnie z maszynami z serii D drugiej generacji (wersja 2) z dyskami usługi Premium Storage. Szczegółowe informacje o poszczególnych rozmiarach maszyn wirtualnych można znaleźć w sekcji "Ogólnego przeznaczenia".

Typ maszyny wirtualnej Podmiot przetwarzający dane Pamięć Rozmiar maszyny wirtualnej platformy Azure
Kontroler domena usługi Active Directory 2 rdzenie 7 GB Standard_DS2_v2
Aparat bazy danych programu SQL Server i usługi Analysis Services 16 rdzeni 56 GB Standardowa_DS5_v2
Baza danych serwera raportów 16 rdzeni 56 GB Standardowa_DS5_v2

1.2 Serwer raportów usługi Power BI Konfiguracja maszyny wirtualnej

Do hostowania Serwer raportów usługi Power BI maszyny wirtualnej użyto różnych konfiguracji procesora i pamięci. W przeciwieństwie do innych maszyn wirtualnych, ta maszyna została aprowizowana zgodnie z maszynami serii D trzeciej generacji (v3) z dyskami Premium Storage. Szczegółowe informacje o tym rozmiarze maszyny wirtualnej można znaleźć w sekcji "Ogólnego przeznaczenia"

Maszyna wirtualna Podmiot przetwarzający dane Pamięć Rozmiar maszyny wirtualnej platformy Azure
Serwer raportów usługi Power BI (mały) 8 rdzeni 32 GB Standard_D8S_v3
Serwer raportów usługi Power BI (duży) 16 rdzeni 64 GB vStandard_D16S_v3

2 Uruchamianie narzędzia LoadTest

Jeśli chcesz uruchomić narzędzie LoadTest usług Reporting Services względem wdrożenia usługi Microsoft Azure Serwer raportów usługi Power BI, wykonaj następujące kroki.

  1. Sklonuj projekt LoadTest usług Reporting Services z usługi GitHub (https://github.com/Microsoft/Reporting-Services-LoadTest).
  2. W katalogu projektu znajdziesz plik rozwiązania o nazwie RSLoadTests.sln. Otwórz ten plik w programie Visual Studio 2015 lub nowszym.
  3. Określ, czy chcesz uruchomić to narzędzie względem wdrożenia Serwer raportów usługi Power BI, czy wdrożenia Serwer raportów usługi Power BI na platformie Microsoft Azure. Jeśli zamierzasz uruchomić go we własnym wdrożeniu, przejdź do kroku 5.
  4. Postępuj zgodnie z instrukcjami wymienionymi na https://github.com/Microsoft/Reporting-Services-LoadTest#create-a-sql-server-reporting-services-load-environment-in-azure stronie, aby utworzyć środowisko Serwer raportów usługi Power BI na platformie Azure.
  5. Po zakończeniu wdrażania środowiska postępuj zgodnie z instrukcjami wymienionymi w https://github.com/Microsoft/Reporting-Services-LoadTest#load-test-execution temacie , aby uruchomić testy.

Masz więcej pytań? Spróbuj zadać Społeczność usługi Power BI