Gig XP

PowerBI Report Server Performance Tuning Best Practices (PBIRS)

Report Server Performance Tuning Best Practices

In this article, we are going to highlight the PowerBI Report Server performance tuning best practices. Since the PBI report server is an enterprise reporting solution, it is imperative to optimize the performance of the overall server.

Microsoft has done their own benchmarking where less than 5% of the users are consuming the same report at the same time. The results are below: As you can see from the results, the PBIX reports (PowerBI Desktop) consumes more resources and offers significantly less performance on an 8 CPU, 32 GB memory server. On the contrary, when you double the resources (16 CPU & 64 Gigs of RAM), the performance gap considerably reduces.

Workload Bench 8 Core & 32 GB RAM 16 Core & 64 GB RAM
Power BI Report Heavy (PBIX) (>60%) 1,000 users 3,000 users
Paginated (RDL) Report Heavy (SSRS) (>60%) 2,000 users 3,200 users
PBIX Heavy Reports 50 Concurrent user loads 150 Concurrent user loads
SSRS Heavy Reports 100 Concurrent users 160 Concurrent users
PBIX Heavy Reports (Total User base) 1000 3000
SSRS Heavy Reports (Total User Base) 2000 3200
 View the Report uses as a reference 8 core (PBIX)

8 core (SSRS)

16 core (PBIX)

16 core (SSRS)

As you can see from the official tests, the performance of the report server significantly increases when you increase the allocated memory and RAM. However, do note that this is a 3-tier server and comprises of the following:

  1. AD Domain Controller (2 Cores, 7 GB RAM – DS2_v2)
  2. Database Server (15 Cores, 56 GB RAM – DS5_v2)
  3. SQL Server Analysis Services (15 Cores, 56 GB RAM – DS5_v2)
  4. PowerBI Report Server (Standard_D8S_v3 for 8C/16 – Standard_D8S_v3, GB & 16C/64GB, vStandard_D16S_v3)

Now, these are all Azure Virtual Machines, and PowerBI report server is primarily meant to be run on-premises. So, for on-premises deployment, let’s find out what best practices you need.

PowerBI Report Server Performance Tuning Best Practices

Just like the reference system that Microsoft used for the tests, we recommend isolating the AD, SQL Server Database, Analysis Services (if applicable), & Power BI Report Server. Here is a sample reference architecture below:

 

For the Database Server, IOPS should be the key metric to look for. Since the database servers are transactionally heavy, investing in a high-performance storage device is recommended. Here are the storage recommendations:

Here are some of the Performance monitor counters (perfmon.exe) to capture disk specific parameters are as follows:

Ensure that the SQL Server: Buffer Manager— Buffer Cache Hit Ratio should exceed 90% (and ideally approach 99%).

For the Report Server, since it is only servicing stateless HTTP requests, under high load, the CPU and memory come under pressure, but IOPS – not so much. Monitor the following perfmon performance counters to ensure that your CPU and Memory usage is under control.

Disk Configuration Best Practices

TempDB Best Practices (On the Catalog Server)

Conclusion

We hope this article helped assist you with PowerBI Report Server Performance Tuning Best Practices. Questions and suggestions are welcome in the comments section below. Thanks for visiting!