1

Around June 1th. 2017 our rdlc reports suddenly runs very slow.

A small report returning approx 100 rows that is rendered in a tablix makes the IIS go to 100% for approx 9-10 seconds.

The CPU increase happens after the report data has been received and IIS starts rendering the report.

The issue exists on Windows Server 2016 and Windows 10 (iisexpress and iis) environments, while the same report runs normally on Windows Server 2012 only boosting IIS CPU for less than one second.

Microsoft ReportViewer is version 11.0 and .Net version 4.6.1648.0. We have updated Windows Server 2012 to .Net version 4.7.2053.0 and it's still running fast. Windows 10 is also updated to version 4.7.2053 and it's still slow (high CPU load).

All web.config settings is the same on all machines and AppPool's is configured the same.

We have tested with ReportViewer version 12 and it's the same issue (slow on Win2016/Win10, fast on Win2012).

We suspect that the issue is related to IIS or .NET or some other Microsoft module.

Any others having the same issue? Any ideas?

Thomas
  • 21
  • 5
  • Have you (or are you able to) test with Report Viewer 14? – David Jun 26 '17 at 21:03
  • Version 12 is the newest version of Microsoft.Reporting.WebForms.ReportViewer and . Can't find version 14 in Nuget. Microsoft.ReportingServices,ReportViewerControl.WebForms v14 does not install v 14 of the Viewer.Only avail with VS 2017? – Thomas Jun 27 '17 at 12:20
  • I am using VS 2017 so maybe it is limited to that. I haven't tried with an older version of VS. I've upgraded all my projects to Report Viewer 14 as it renders the reports to PDF faster than previous versions and being a nuget package eliminates my need to install any extra exe's on the servers. – David Jun 27 '17 at 15:01
  • Updated to Reportviewer 14 (VS 2017). Still slow. I now have two sites on the same server (Win 2012) where one is slow and one is fast. Have upgraded the fast one to Reportviewer 14 and it's still fast (1-2 secs). Only difference is dll's in bin folder. Have to check all manually to see which one is causing the problem). – Thomas Jun 28 '17 at 13:43
  • since Server 2016 has windows defender enabled by default what if you try disabling realtime monitoring in defender? To disable use this PS command: Set-MpPreference -DisableRealtimeMonitoring 1 Change the 1 to a 0 to re-enable. – David Jun 28 '17 at 13:58

1 Answers1

0

Finally found the reason for the slow reports!

The web.config was missing

<trust legacyCasModel="true" level="Full"/>

With LegacyCasModel to true the server respond in 1.14 second.

Without LegacyCasModel response time is 11.79 seconds and one CPU is using 100% in this period!

LegacyCasModel had been removed due to other functionality, but had no idea that this could have so severe impact on performance.

Hope it helps others in same situation.

Thomas
  • 21
  • 5