Aracılığıyla paylaş


Power BI Rapor Sunucusu için kapasite planlama kılavuzu

Power BI Rapor Sunucusu, müşterilerin şirket içinde, güvenlik duvarının arkasında dağıtabilecekleri bir self servis BI ve kurumsal raporlama çözümüdür. Power BI Desktop'ın etkileşimli rapor özelliğini SQL Server Reporting Services'in şirket içi sunucu platformuyla birleştirir. Kuruluşlarda analiz ve raporlamanın yoğun ve artan kullanımıyla, kurumsal kullanıcı tabanına ölçeklendirmek için gereken donanım altyapısı ve yazılım lisanslarını bütçelemek zor olabilir. Bu makale, çeşitli iş yüklerinin çeşitli yük testi yürütmelerinin sonuçlarını bir rapor sunucusuna paylaşarak Power BI Rapor Sunucusu için kapasite planlaması konusunda rehberlik sunmayı amaçlamaktadır. Kuruluşların raporları, sorguları ve kullanım düzenleri büyük ölçüde farklılık gösterse de, bu makalede sunulan sonuçlar, kullanılan gerçek testlerle ve bunların nasıl yürütüldüklerine ilişkin ayrıntılı bir açıklamayla birlikte, Power BI Rapor Sunucusu dağıtmanın erken aşama planlama sürecindeki herkes için bir başvuru noktası görevi görür.

Yönetici özeti

Power BI Rapor Sunucusu için iki farklı iş yükü türü yürüttk; her iş yükü farklı türde raporların işlenmesinden ve çeşitli web portalı işlemlerinin gerçekleştirilmesinden oluşuyordu.

  • "Power BI Report Heavy" iş yükünde en sık yürütülen işlem (örneğin, işlemin %60'ında yürütülen işlem) Power BI raporlarını işlemeydi.
  • "Sayfalandırılmış Rapor Ağır" iş yükünde en sık yürütülen işlem sayfalandırılmış raporları işlemekti.

Dört sunuculu Power BI Rapor Sunucusu topolojisi ve kullanıcıların %5'inden fazlasının bir rapor sunucusuna bir kerede erişmeyecek olması beklentisi altında, aşağıdaki tabloda Power BI Rapor Sunucusu en az %99 güvenilirlikle başa çıkabilecek en fazla kullanıcı sayısı açıklanmaktadır.

İş Yükü 8 Çekirdek/32 GB RAM 16 Çekirdek/64 GB RAM
Power BI Report Heavy (%>60) 1.000 kullanıcı 3.000 kullanıcı
Sayfalandırılmış (RDL) Rapor Ağır (%>60) 2.000 kullanıcı 3.200 kullanıcı

Her çalıştırmada en yoğun kaynak CPU'ydu. Bu nedenle, çekirdek sayısını Power BI Rapor Sunucusu artırmak, sistemin güvenilirliğinde bellek veya sabit disk alanı miktarını artırmaktan daha yüksek bir kazanç sağlar.

Test metodolojisi

Kullanılan test topolojisi, satıcıya özgü fiziksel donanım yerine Microsoft Azure Sanal Makineler temel alınıyordu. Tüm makineler ABD bölgelerinde barındırıldı. Bu, hem şirket içinde hem de genel bulutta donanım sanallaştırmasının genel eğilimini yansıtır.

Power BI Rapor Sunucusu topolojisi

Power BI Rapor Sunucusu dağıtımı aşağıdaki sanal makinelerden oluşuyordu:

  • Active Directory Etki Alanı Denetleyicisi: Tüm isteklerin kimliğini güvenli bir şekilde doğrulamak için SQL Server Veritabanı Altyapısı, SQL Server Analysis Services ve Power BI Rapor Sunucusu bu gerekliydi.
  • SQL Server Veritabanı Altyapısı ve SQL Server Analysis Services: Raporları işlerken kullanılacak tüm veritabanlarını burada depoladık.
  • Power BI Rapor Sunucusu
  • Power BI Rapor Sunucusu Veritabanı. Rapor sunucusu veritabanı, bellek, CPU, ağ ve disk kaynakları için SQL Server Veritabanı Altyapısı ile rekabete gerek duymaması için Power BI Rapor Sunucusu farklı bir makinede barındırılır.

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

Topolojide kullanılan her sanal makinenin kapsamlı yapılandırması için bkz. Ek 1.1 Power BI Rapor Sunucusu Topolojisi ve Ek 1.2 Power BI Rapor Sunucusu Sanal Makine Yapılandırması.

Sınamalar

Yük testi çalıştırmalarında kullanılan testler, Reporting Services LoadTest adlı bir GitHub projesinde genel kullanıma açıktır. Bu araç, kullanıcıların SQL Server Reporting Services ve Power BI Rapor Sunucusu performans, güvenilirlik, ölçeklenebilirlik ve kurtarılabilirlik özelliklerini incelemesini sağlar. Bu proje dört test çalışması grubundan oluşur:

  • Power BI raporlarının işlenmesinin benzetimini test etme,
  • Mobil raporların işlenmesinin benzetimini test etme,
  • Küçük ve büyük sayfalandırılmış raporların işlenmesini benzeten testler ve
  • Çeşitli türlerdeki web portalı işlemlerinin benzetimini yapan testler.

Tüm testler uçtan uca bir işlem (rapor işleme, yeni veri kaynağı oluşturma vb.) gerçekleştirmek için yazılmıştır. Bunu, rapor sunucusuna bir veya daha fazla web isteği göndererek (API'ler aracılığıyla) gerçekleştirirler. Gerçek dünyada, bir kullanıcının bu uçtan uca işlemlerden birini tamamlamak için birkaç ara işlem gerçekleştirmesi gerekebilir. Örneğin, bir raporu işlemek için kullanıcının web portalına gitmesi, raporun bulunduğu klasöre gitmesi ve ardından raporu işleyecek şekilde tıklatması gerekir. Testler uçtan uca bir görevi gerçekleştirmek için gereken tüm işlemleri gerçekleştirmese de, yine de Power BI Rapor Sunucusu karşılaşacağı yükün çoğunu uygular. GitHub projesini inceleyerek kullanılan farklı rapor türleri ve gerçekleştirilen çeşitli işlemler hakkında daha fazla bilgi edinebilirsiniz.

Dekont

Araç Microsoft tarafından resmi olarak desteklenmemektedir, ancak ürün ekibi projeye katkıda bulunur ve diğer katkıda bulunanlar tarafından ortaya konulabilecek sorunları yanıtlar.

İş yükleri

Testlerde kullanılan 2 iş yükü profili vardır: Power BI Report Heavy ve Sayfalandırılmış Rapor Ağır. Aşağıdaki tabloda Rapor Sunucusu'na karşı yürütülen isteklerin dağılımı açıklanmaktadır.

Aktivite Power BI Report Heavy, Oluşum sıklığı Sayfalandırılmış Rapor Ağır, Oluşum sıklığı
Power BI raporlarını işleme %60 %10
Sayfalandırılmış (RDL) raporları işleme %30 %60
Mobil raporları işleme %5 %20
Web portalı işlemleri %5 %10

Kullanıcı yükü

Her test çalıştırması için testler, iki iş yükünden birinde belirtilen sıklık temelinde yürütülür. Testler, rapor sunucusuna 20 eşzamanlı kullanıcı isteğiyle başladı. Daha sonra güvenilirlik %99 hedefinin altına düşene kadar kullanıcı yükü kademeli olarak artırıldı.

Sonuçlar

Eşzamanlı kullanıcı kapasitesi

Daha önce belirtildiği gibi testler, rapor sunucusuna istekte bulunan 20 eşzamanlı kullanıcıyla başlamıştır. Ardından tüm isteklerin %1'i başarısız olana kadar eşzamanlı kullanıcı sayısı kademeli olarak artırıldı. Aşağıdaki tabloda yer alan sonuçlar, sunucunun %1'den az hata oranıyla yoğun yük altında işleyebileceği eşzamanlı kullanıcı isteklerinin sayısını gösterir.

İş Yükü 8 Çekirdek/32 GB 16 Çekirdek/64 GB
Power BI Report Heavy 50 eşzamanlı kullanıcı 150 eşzamanlı kullanıcı
Sayfalandırılmış Rapor Ağır 100 eşzamanlı kullanıcı 160 eşzamanlı kullanıcı

Toplam kullanıcı kapasitesi

Microsoft'ta, birkaç ekibin kullandığı Power BI Rapor Sunucusu üretim dağıtımına sahibiz. Bu ortamın gerçek kullanımını analiz ettiğimizde, herhangi bir zamanda eşzamanlı kullanıcı sayısının (günlük en yüksek yük sırasında bile) toplam kullanıcı tabanının %5'ini aşma eğiliminde olmadığını gözlemliyoruz. Bu %5 eşzamanlılık oranını kıyaslama olarak kullanarak, %99 güvenilirlikle başa çıkabilecek toplam kullanıcı tabanı Power BI Rapor Sunucusu tahmin ettik.

İş Yükü 8 Çekirdek/32 GB 16 Çekirdek/64 GB
Power BI Report Heavy 1.000 kullanıcı 3.000 kullanıcı
Sayfalandırılmış Rapor Ağır 2.000 kullanıcı 3.200 kullanıcı

Özet

Her yük testi çalıştırması için CPU, Power BI Rapor Sunucusu makinesinde en yoğun yük noktasındaki en yoğun kaynaktı. Bu nedenle, artırılması gereken ilk kaynak çekirdek sayısıdır. Alternatif olarak, topolojinize Power BI Rapor Sunucusu barındıran daha fazla sunucu ekleyerek ölçeği genişletmeyi düşünebilirsiniz.

Bu makalede sunulan sonuçlar, belirli bir veri kümesini kullanan belirli bir rapor kümesinin belirli bir şekilde yinelenmesinden türetilmiştir. Bu yararlı bir başvuru noktasıdır, ancak kullanımınızın raporlarınıza, sorgularınıza, kullanım desenlerinize ve Power BI Rapor Sunucusu dağıtımınıza bağlı olacağını unutmayın.

Ek

1 Topoloji

1.1 Power BI Rapor Sunucusu Topolojisi

Yalnızca farklı yapılandırmalar altındaki Power BI Rapor Sunucusu davranışa odaklanmak için, her makine türünün (makine barındırma Power BI Rapor Sunucusu hariç) VM yapılandırması düzeltildi. Her makine, Premium Depolama Diskleri olan ikinci nesil (v2) D Serisi makinelere göre sağlandı. Her VM boyutu hakkında ayrıntılı bilgileri "Genel Amaçlı" bölümünde bulabilirsiniz.

Sanal Makine Türü İşleyen Bellek Azure VM Boyutu
Active Directory Etki Alanı Denetleyicisi 2 Çekirdek 7 GB Standard_DS2_v2
SQL Server Veritabanı Altyapısı ve Analysis Services 16 Çekirdek 56 GB Standard_DS5_v2
Rapor Sunucusu Veritabanı 16 Çekirdek 56 GB Standard_DS5_v2

1.2 Power BI Rapor Sunucusu Sanal Makine Yapılandırması

sanal makine barındırma Power BI Rapor Sunucusu için farklı işlemci ve bellek yapılandırmaları kullanıldı. Diğer VM'lerden farklı olarak, bu makine Premium Depolama Diskleri olan üçüncü nesil (v3) D Serisi Makinelere göre sağlandı. Bu VM boyutu hakkında ayrıntılı bilgileri "Genel Amaçlı" bölümünde bulabilirsiniz

Sanal Makine İşleyen Bellek Azure VM Boyutu
Power BI Rapor Sunucusu (Küçük) 8 Çekirdek 32 GB Standard_D8S_v3
Power BI Rapor Sunucusu (Büyük) 16 Çekirdek 64 GB vStandard_D16S_v3

2 LoadTest aracını çalıştırma

Reporting Services LoadTest aracını Power BI Rapor Sunucusu Microsoft Azure dağıtımınızda çalıştırmak istiyorsanız aşağıdaki adımları izleyin.

  1. GitHub'dan Reporting Services LoadTest projesini kopyalayın (https://github.com/Microsoft/Reporting-Services-LoadTest ).
  2. Proje dizininde RSLoadTests.sln adlı bir çözüm dosyası bulacaksınız. Bu dosyayı Visual Studio 2015 veya sonraki sürümlerinde açın.
  3. Bu aracı Power BI Rapor Sunucusu dağıtımınıza veya Microsoft Azure'da Power BI Rapor Sunucusu dağıtımına karşı çalıştırmak isteyip istemediğinizi belirleyin. Kendi dağıtımınızda çalıştıracaksanız 5. adıma gidin.
  4. Azure'da bir Power BI Rapor Sunucusu ortamı oluşturmak için üzerinde https://github.com/Microsoft/Reporting-Services-LoadTest#create-a-sql-server-reporting-services-load-environment-in-azure listelenen yönergeleri izleyin.
  5. Ortamı dağıtmayı bitirdikten sonra, testleri çalıştırmak için üzerinde https://github.com/Microsoft/Reporting-Services-LoadTest#load-test-execution listelenen yönergeleri izleyin.

Başka sorunuz var mı? Power BI Topluluğu sormayı deneyin