Forum Discussion
PublishModel fails with ImageLoad on High CPU consumption
Hello,
High CPU consumption is causing Analysis Service to have a Timeout and terminating a refresh of a report. We got 8 CPU and I see max CPU consumption in this time period. There is a refresh of 4 Reports at the same time.
*) The ASManagedRoot log has no records in these 9 minutes
*) What is the recommend solution in this case?
The ASManagedRoot log shows:
2026-06-11 07:44:21.5286|INFO|170|Getting data sources in the model for connection string for databaseName = eb219e3c-06db-4650-b62b-654c6f87bd5f_1936952837
---- 9 MINUTES of no entries in the log -----
2026-06-11 07:53:34.1593|INFO|132|Initializing a new instance of PBIRSMashupProviderHost...
The RSPowerBI Log says:
2026-06-11 07:45:46.2109|INFO|6|Processing Data Model Refresh: SessionId: 368281d1-fe31-43f5-8f21-5bcd52e5b4e2, Status: Starting Streaming model to Analysis Server.
ERROR coming after a couple of minutes:
....
2026-06-11 07:51:59.8585|ERROR|88|S-KP\s030f738 192.169.3.17: GET / - 0:01:39,5295055
Exception: System.IO.IOException ---> System.Net.HttpListenerException: Es wurde versucht, auf eine nicht vorhandene Netzwerkverbindung zuzugreifen
...
2026-06-11 07:51:59.9895|ERROR|91|Failed to publish model for ac4f5693-f48d-43b7-8eab-a34432755014_833159031Microsoft.PowerBI.ReportServer.AsServer.AsConnectionException: Failed to publish model for ac4f5693-f48d-43b7-8eab-a34432755014_833159031 ---> Microsoft.AnalysisServices.ConnectionException: The connection either timed out or was lost. ---> Microsoft.AnalysisServices.XmlaStreamException ---> System.IO.IOException: In die Übertragungsverbindung können keine Daten geschrieben werden: Eine vorhandene Verbindung wurde vom Remotehost geschlossen. ---> System.Net.Sockets.SocketException: Eine vorhandene Verbindung wurde vom Remotehost geschlossen
bei System.Net.Sockets.NetworkStream.Write(Byte[] buffer, Int32 offset, Int32 size)
--- Ende der internen Ausnahmestapelüberwachung ---
bei Microsoft.AnalysisServices.XmlaClient.ImageLoad(String databaseName, String databaseId, Stream sourceDbStream, Boolean allowOverwrite, String readWriteMode)
bei Microsoft.AnalysisServices.Core.Server.ImageLoad(ImageLoadInfo imageLoadInfo)
bei Microsoft.PowerBI.ReportServer.AsServer.AnalysisServicesServer.<>c__DisplayClass47_0.<LoadDatabaseInAsAsync>b__0()
--- Ende der internen Ausnahmestapelüberwachung ---
many thanks for hints!
Stefan
Hi,
thanks everyone.
In the moment I go this way with restarting of failed reports at the end of the batch.
I dont know if deeper debugging and configuration of analysis services would really help, and is worth the effort.
I found also this article:
Solved: Re: Power BI Report Server Scheduled Refresh Bottl... - Microsoft Fabric Community
and
Analysis Services thread pool properties | Microsoft Learn
where I can play around with Affinitygroups and thread definitions. But how to find out which ThreadPool is the problem?
Maybe someone got already that deep in configuration of analysis service, and can give a hint how to proceed and if it makes sense here to investigate deeper.
Maybe the only chance is to throttle by maxQueueThreads, but I would like to have the optimal throughput of refreshing reports after the daily load of the DWH is done. And hard throtteling on the number of refreshes.. dont know.. Sounds like a workaround as well.
regards,
Stefan
5 Replies
- Zanqueta
Super User
Hi stefanp2 I'm not sure but in this case I would treat the error as a resource/concurrency problem first, not as an ImageLoad bug.
From the log, the important part is this:Starting Streaming model to Analysis Server ... ImageLoad(...) The connection either timed out or was lost ... An existing connection was closed by the remote hostThis usually means Power BI Report Server was trying to publish/load the refreshed model into the local Analysis Services engine, but the AS process became too busy or stopped responding long enough that the connection was closed.
Because you also see 8 CPUs at maximum usage and 4 report refreshes running at the same time, the most likely root cause is CPU saturation during model processing/publishing.
My suggestion is to start with these actions, in this order:
1. Do not refresh all 4 reports at the same time2. Check whether msmdsrv.exe is the CPU bottleneck
If msmdsrv.exe is consuming most of the CPU, then the problem is mainly the internal Analysis Services model processing/publishing step. Similar PBIRS cases report high CPU caused by msmdsrv.exe during many scheduled refreshes
3. Optimise the PBIX models
Increasing timeout values may hide the symptom, but it will not fix the CPU pressure. If possible, move heavy calculated columns from DAX into Power Query or, even better, into the source database. There are refresh timeout cases where moving calculated columns to the import/transformation step solved the problem.I would also confirm that the reports are Import mode reports with valid stored credentials, because scheduled refresh is not applicable in the same way for DirectQuery or live-connected models. - AnonymousNot applicable
- AnonymousNot applicable
Hi stefanp2
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.
- carter_gray705
Advocate II
This looks like resource contention during concurrent refreshes. I'd try staggering the 4 refresh jobs first and monitor CPU, memory, and disk usage during that window. The timeout and "connection closed by remote host" errors often appear when the Analysis Services engine is under heavy load and becomes unresponsive. Dataset size, available RAM, and your PBIRS version would help identify the root cause.
- stefanp2Regular Visitor
Hi,
thanks everyone.
In the moment I go this way with restarting of failed reports at the end of the batch.
I dont know if deeper debugging and configuration of analysis services would really help, and is worth the effort.
I found also this article:
Solved: Re: Power BI Report Server Scheduled Refresh Bottl... - Microsoft Fabric Community
and
Analysis Services thread pool properties | Microsoft Learn
where I can play around with Affinitygroups and thread definitions. But how to find out which ThreadPool is the problem?
Maybe someone got already that deep in configuration of analysis service, and can give a hint how to proceed and if it makes sense here to investigate deeper.
Maybe the only chance is to throttle by maxQueueThreads, but I would like to have the optimal throughput of refreshing reports after the daily load of the DWH is done. And hard throtteling on the number of refreshes.. dont know.. Sounds like a workaround as well.
regards,
Stefan