Bagikan melalui


Panduan perencanaan kapasitas untuk Power BI Report Server

Power BI Report Server adalah solusi pelaporan BI dan perusahaan layanan mandiri yang dapat disebarkan pelanggan di premis mereka, di belakang firewall mereka. Power BI Report Server menggabungkan kemampuan laporan interaktif Power BI Desktop dengan platform server lokal SQL Server Reporting Services. Dengan penggunaan analitik dan pelaporan yang berat dan berkembang dalam perusahaan, menganggarkan infrastruktur perangkat keras dan lisensi perangkat lunak yang diperlukan untuk menskalakan ke basis pengguna perusahaan dapat menjadi tantangan. Makalah ini bertujuan untuk menawarkan panduan tentang perencanaan kapasitas untuk Power BI Report Server dengan berbagi hasil dari banyak eksekusi uji beban dari berbagai beban kerja terhadap server laporan. Sementara laporan, kueri, dan pola penggunaan organisasi sangat bervariasi, hasil yang disajikan dalam makalah ini, bersama dengan tes aktual yang digunakan dan deskripsi terperinci tentang bagaimana mereka dijalankan, berfungsi sebagai titik referensi bagi siapa pun dalam proses perencanaan tahap awal penyebaran Power BI Report Server.

Ringkasan eksekutif

Kami menjalankan dua jenis beban kerja yang berbeda terhadap Power BI Report Server; setiap beban kerja terdiri dari merender berbagai jenis laporan serta melakukan berbagai operasi portal web.

  • Dalam beban kerja "Power BI Report Heavy", operasi yang paling sering dijalankan (yaitu operasi yang dijalankan 60% dari waktu) adalah merender laporan Power BI.
  • Dalam beban kerja "Paginated Report Heavy", operasi yang paling sering dijalankan adalah menyajikan laporan yang dipaginasi.

Di bawah topologi empat server Power BI Report Server dan harapan bahwa tidak lebih dari 5% pengguna akan mengakses server laporan kapan saja, tabel berikut menjelaskan jumlah maksimum pengguna yang dapat ditangani Power BI Report Server dengan setidaknya 99% keandalan.

Beban kerja 8 Core/32 GB RAM 16 Core/64 GB RAM
Power BI Report Heavy (>60%) 1.000 pengguna 3.000 pengguna
Paginated (RDL) Report Heavy (>60%) 2.000 pengguna 3.200 pengguna

Dalam setiap proses, sumber daya yang paling kewalahan adalah CPU. Karena itu, meningkatkan jumlah inti menjadi Power BI Report Server akan menghasilkan keuntungan keandalan sistem yang lebih tinggi daripada meningkatkan jumlah memori atau ruang hard disk.

Metodologi pengujian

Topologi pengujian yang digunakan didasarkan pada Microsoft Azure Virtual Machines dan bukan pada perangkat keras fisik khusus vendor. Semua komputer di-host di wilayah AS. Ini mencerminkan tren umum virtualisasi perangkat keras baik lokal maupun di cloud publik.

Topologi Power BI Report Server

Penyebaran Power BI Report Server terdiri dari komputer virtual berikut:

  • Active Directory Domain Controller: ini diperlukan oleh SQL Server Database Engine, SQL Server Analysis Services, dan Power BI Report Server untuk mengautentikasi semua permintaan secara aman.
  • SQL Server Mesin Database dan SQL Server Analysis Services: di sinilah kami menyimpan semua database yang digunakan laporan saat kami merendernya.
  • Power BI Report Server
  • Database Power BI Report Server. Database server laporan di-host pada komputer yang berbeda dari Power BI Report Server sehingga tidak perlu bersaing dengan SQL Server Database Engine untuk memori, CPU, jaringan, dan sumber daya disk.

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

Lihat Lampiran 1.1 Lampiran dan Topologi Power BI Report Server 1.2 Konfigurasi Komputer Virtual Power BI Report Server untuk konfigurasi menyeluruh dari setiap komputer virtual yang digunakan dalam topologi.

Pengujian

Pengujian yang digunakan dalam eksekusi uji beban tersedia untuk umum dalam proyek GitHub yang disebut Reporting Services LoadTest. Alat ini memungkinkan pengguna untuk mempelajari karakteristik performa, keandalan, skalabilitas, dan pemulihan SQL Server Reporting Services dan Power BI Report Server. Proyek ini terdiri dari empat grup kasus pengujian:

  • Pengujian menyimulasikan perenderan laporan Power BI,
  • Pengujian menyimulasikan perenderan laporan seluler,
  • Pengujian menyimulasikan perenderan laporan yang dipaginasi kecil dan besar, dan
  • Pengujian menyimulasikan melakukan berbagai jenis operasi portal web.

Semua pengujian ditulis untuk melakukan operasi end-to-end (seperti merender laporan, membuat sumber data baru, dll.). Pengujian menyelesaikan hal ini dengan membuat satu atau beberapa permintaan web ke server laporan (melalui API). Di dunia nyata, pengguna mungkin perlu melakukan beberapa operasi perantara untuk menyelesaikan salah satu operasi end-to-end ini. Misalnya, untuk merender laporan, pengguna harus masuk ke portal web, menavigasi ke folder tempat laporan berada, lalu klik laporan untuk merendernya. Meskipun pengujian tidak melakukan semua operasi yang diperlukan untuk menyelesaikan tugas end-to-end, pengujian masih memberlakukan sebagian besar beban yang akan dialami Power BI Report Server. Anda dapat mempelajari selengkapnya tentang berbagai jenis laporan yang digunakan serta berbagai operasi yang dilakukan dengan menjelajahi proyek GitHub.

Catatan

Alat ini tidak didukung secara resmi oleh Microsoft, tetapi tim produk ini memang berkontribusi pada masalah proyek dan jawaban yang diangkat oleh kontributor lain.

Beban kerja

Ada 2 profil beban kerja yang digunakan dalam pengujian: Power BI Report Heavy dan Paginated Report Heavy. Tabel di bawah ini menjelaskan distribusi permintaan yang dijalankan terhadap Server Laporan.

Aktivitas Power BI Report Heavy, Frekuensi kemunculan Paginated Report Heavy, Frekuensi kemunculan
Merender laporan Power BI 60% 10%
Merender laporan yang dipaginasi (RDL) 30% 60%
Merender laporan seluler 5% 20%
Operasi portal web 5% 10%

Beban pengguna

Untuk setiap uji coba, pengujian dijalankan berdasarkan frekuensi yang ditentukan dalam salah satu dari dua beban kerja. Pengujian dimulai dengan 20 permintaan pengguna bersamaan ke server laporan. Beban pengguna kemudian secara bertahap meningkat sampai keandalan menurun di bawah target 99%.

Hasil

Kapasitas pengguna bersamaan

Seperti yang dinyatakan sebelumnya, pengujian dimulai dengan 20 pengguna bersamaan yang membuat permintaan ke server laporan. Jumlah pengguna bersamaan kemudian secara bertahap meningkat hingga 1% dari semua permintaan gagal. Hasil dalam tabel berikut memberi tahu kami jumlah permintaan pengguna bersamaan yang dapat ditangani server di bawah beban puncak dengan tingkat kegagalan kurang dari 1%.

Beban kerja 8 Core/32 GB 16 Core/64 GB
Power BI Report Heavy 50 pengguna bersamaan 150 pengguna bersamaan
Paginated Report Heavy 100 pengguna bersamaan 160 pengguna bersamaan

Total kapasitas pengguna

Di Microsoft, kami memiliki penyebaran produksi Power BI Report Server yang digunakan oleh beberapa tim. Ketika kami menganalisis penggunaan aktual lingkungan ini, kami mengamati bahwa jumlah pengguna bersamaan pada waktu tertentu (bahkan selama beban puncak harian) cenderung tidak melebihi 5% dari total basis pengguna. Dengan menggunakan rasio konkurensi 5% ini sebagai tolok ukur, kami membuat perkiraan total basis pengguna yang dapat Power BI Report Server tangani dengan keandalan 99%.

Beban kerja 8 Core/32 GB 16 Core/64 GB
Power BI Report Heavy 1.000 pengguna 3.000 pengguna
Paginated Report Heavy 2.000 pengguna 3.200 pengguna

Ringkasan

Untuk setiap eksekusi uji beban, CPU adalah sumber daya yang paling kewalahan pada titik beban puncak pada komputer Power BI Report Server. Karena itu, sumber daya pertama yang harus ditingkatkan adalah jumlah inti. Secara bergantian, Anda dapat mempertimbangkan untuk memperluas skala dengan menambahkan lebih banyak server yang meng-hosting Power BI Report Server dalam topologi Anda.

Hasil yang disajikan dalam makalah ini berasal dari menjalankan serangkaian laporan tertentu yang menggunakan sekumpulan data tertentu, yang diulang dengan cara tertentu. Ini adalah titik referensi yang berguna, namun perlu diingat bahwa penggunaan Anda akan bergantung pada laporan, kueri, pola penggunaan, dan penyebaran Power BI Report Server Anda.

Lampiran

1 Topologi

1.1 Topologi Power BI Report Server

Untuk hanya berfokus pada perilaku Power BI Report Server di bawah konfigurasi yang berbeda, konfigurasi VM untuk setiap jenis komputer (kecuali untuk Power BI Report Server host komputer) telah diperbaiki. Setiap komputer disediakan sesuai dengan mesin Seri D generasi kedua (v2) dengan disk Premium Storage. Anda dapat menemukan informasi terperinci tentang setiap ukuran VM di bagian "Tujuan Umum".

Jenis Komputer Virtual Pemroses Memori Ukuran VM Azure
Pengendali Domain Active Directory 2 Inti 7 GB Standard_DS2_v2
SQL Server Database Engine dan Analysis Services 16 Inti 56 GB Standard_DS5_v2
Database Report Server 16 Inti 56 GB Standard_DS5_v2

1.2 Konfigurasi Komputer Virtual Power BI Report Server

Konfigurasi prosesor dan memori yang berbeda digunakan untuk meng-hosting Komputer Virtual Power BI Report Server. Tidak seperti VM lainnya, komputer ini disediakan sesuai dengan Mesin Seri D generasi ketiga (v3) dengan Disk Premium Storage. Anda dapat menemukan informasi terperinci tentang setiap ukuran VM di bagian "Tujuan Umum"

Komputer Virtual Pemroses Memori Ukuran VM Azure
Power BI Report Server (Kecil) 8 Inti 32 GB Standard_D8S_v3
Power BI Report Server (Besar) 16 Inti 64 GB vStandard_D16S_v3

2 Jalankan alat LoadTest

Jika Anda ingin menjalankan alat Reporting Services LoadTest terhadap penyebaran Power BI Report Server Microsoft Azure Anda, ikuti langkah-langkah berikut.

  1. Kloning proyek Reporting Services LoadTest dari GitHub (https://github.com/Microsoft/Reporting-Services-LoadTest).
  2. Di direktori proyek, Anda akan menemukan file solusi yang disebut RSLoadTests.sln. Buka file ini di Visual Studio 2015 atau yang lebih baru.
  3. Tentukan apakah Anda ingin menjalankan alat ini terhadap penyebaran Power BI Report Server atau terhadap penyebaran Power BI Report Server di Microsoft Azure. Jika Anda akan menjalankannya terhadap penyebaran Anda sendiri, lihat langkah 5.
  4. Ikuti instruksi yang tercantum di https://github.com/Microsoft/Reporting-Services-LoadTest#create-a-sql-server-reporting-services-load-environment-in-azure untuk membuat lingkungan Power BI Report Server di Azure.
  5. Setelah Anda selesai menyebarkan lingkungan, ikuti instruksi yang tercantum di https://github.com/Microsoft/Reporting-Services-LoadTest#load-test-execution untuk menjalankan pengujian.

Ada pertanyaan lagi? Coba tanyakan kepada Komunitas Power BI