This time we’re going bigger than ever. Fabric, Power BI, SQL, AI and more. We're covering it all. You won't want to miss it.
Learn moreLevel up your Power BI skills this month - build one visual each week and tell better stories with data! Get started
We are experiencing a performance bottleneck in our Power BI Report Server environment. (january 2026 version)
We have around 1000 reports, each with multiple scheduled refreshes(total count app.1030) per day, which creates heavy load on the system.
We have already made some parameter changes in the Report Server configuration files to improve performance.
Aside from scaling out the environment, what other architectural or configuration changes would you recommend to handle this workload more efficiently?
Any best practices for optimizing PBIRS under high scheduled refresh load would be appreciated.
Best Regards,
Hi @gkc9
Thank you for reaching out to the Microsoft Fabric Forum Community.
@lbendlin @Nasif_Azam Thanks for the inputs.
I hope the information provided by users was helpful. If you still have questions, please don't hesitate to reach out to the community.
Hi @gkc9
Hope everything’s going smoothly on your end. I wanted to check if the issue got sorted. if you have any other issues please reach community.
Hello,
Thank you for your considartion. We are using RS Engine on Virtual Machine. Despite having robust hardware, the system becomes unresponsive due to 100% CPU usage, primarily driven by the msmdsrv.exe process.
Environment Details:
Hardware: VM with 16 vCPUs and 128 GB RAM.
Workload: ~1000 reports with approximately 1030 scheduled refreshes per day.
Observations: RAM usage is stable and within limits, but CPU spikes to 100% and stays there, causing the portal to hang.
Steps Taken (No significant improvement):
Adjusted MemorySafetyMargin, MemoryThreshold, and CleanupCycleLimit.
Increased tempDBInitialSize and adjusted MaxActiveReqForOneUser.
IT has reviewed Local Security Policies and determined they are not the primary bottleneck.
Specific Questions:
Since msmdsrv.exe (Analysis Services Engine) is the main consumer of CPU, what are the best practices for Resource Governance in a shared PBIRS environment with 1000+ refreshes?
Would limiting CoordinatorExecutionMode or tuning ThreadPool\Process\MaxThreads within msmdsrv.ini be recommended for a 16-core setup to prevent thread contention?
Are there any known issues with the January 2026 build regarding how the Data Mashup Engine hands over tasks to the Analysis Services engine under parallel load?
Beyond staggering refresh slots, are there internal PBIRS queuing mechanisms we can tune to throttle the number of concurrent msmdsrv tasks?
Any architectural insights or advanced configuration suggestions would be greatly appreciated.
Best Regards,
Hi @gkc9
Thank you for reaching out to the Microsoft Fabric Forum Community.
The 100% CPU from msmdsrv.exe is happening because too many refreshes are running at the same time, and each one uses multiple CPU threads. This overloads the system, so even with good hardware, the portal hangs.
In Power BI Report Server, there’s no strong built-in control, so you need to limit how much runs in parallel. You can tune settings like CoordinatorExecutionMode (around 6–10) and MaxThreads (around 16–24) to reduce parallelism. Also, use MaxQueueThreads (8–12) to limit how many refreshes start together.
Maybe, the issue is too much parallel work not weak hardware. try Reduce concurrent refreshes and spread them out to stabilize the system.
If there are any deviations from your expectation please let us know we are happy to address.
Thanks.
Hi @gkc9
Hope everything’s going smoothly on your end. I wanted to check if the issue got sorted. if you have any other issues please reach community.
Hey @gkc9,
At approximate1030 refreshes/day on a single PBIRS, the bottleneck is usually a mix of clustered schedules, duplicated models, and Analysis Services memory pressure from concurrent workspace loads. Try the following fixes:
1. Reduce Demand:
2. Shape the schedule
3. PBIRS knobs often missed
4. Don't forget the source: In many "PBIRS bottleneck" cases, PBIRS is fine and the source DB is the real constraint. Profile source query times during peak refresh windows before blaming the server.
For Detailed Information:
Best Regards,
Nasif Azam
Hello,
We are using RS engine on Virtual Machine. Despite having robust hardware, the system becomes unresponsive due to 100% CPU usage, primarily driven by the msmdsrv.exeprocess.
Environment Details:
Steps Taken (No significant improvement):
Specific Questions:
Any architectural insights or advanced configuration suggestions would be greatly appreciated.
Best Regards,
Challenge the developers on the refresh cadence. Change their mindset from schedules towards event based refreshes (when the upstream data source has been updated). Name and shame the developers with the biggest impact, and help them optimize their ETL.
Check out the April 2026 Power BI update to learn about new features.
Sign up to receive a private message when registration opens and key events begin.
If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.
| User | Count |
|---|---|
| 3 | |
| 3 | |
| 2 | |
| 2 | |
| 2 |