2017-06-26 4 views
1

Um den 1. Juni. 2017 laufen unsere rdlc-Berichte plötzlich sehr langsam.ReportViewer 11.0 hohe CPU auf Windows Server 2016

Ein kleiner Bericht, der ca. 100 Zeilen zurückgibt, der in einem Tablix gerendert wird, bewirkt, dass der IIS für ca. 9-10 Sekunden auf 100% geht.

Der CPU-Anstieg erfolgt, nachdem die Berichtsdaten empfangen wurden und IIS beginnt, den Bericht zu rendern.

Das Problem tritt in Windows Server 2016- und Windows 10-Umgebungen (iisexpress und iis) auf, während derselbe Bericht normalerweise unter Windows Server 2012 ausgeführt wird und die IIS-CPU nur für weniger als eine Sekunde aktiviert.

Microsoft ReportViewer ist Version 11.0 und .Net Version 4.6.1648.0. Wir haben Windows Server 2012 auf .Net Version 4.7.2053.0 aktualisiert und es läuft immer noch schnell. Windows 10 ist auch auf Version 4.7.2053 aktualisiert und es ist immer noch langsam (hohe CPU-Auslastung).

Alle Einstellungen von web.config sind auf allen Maschinen gleich und AppPools sind gleich konfiguriert.

Wir haben mit ReportViewer Version 12 getestet und es ist das gleiche Problem (langsam auf Win2016/Win10, schnell auf Win2012).

Wir vermuten, dass das Problem mit IIS oder .NET oder einem anderen Microsoft-Modul zusammenhängt.

Alle anderen haben das gleiche Problem? Irgendwelche Ideen?

+0

Haben Sie (oder können Sie) mit Report Viewer 14 testen? – David

+0

Version 12 ist die neueste Version von Microsoft.Reporting.WebForms.ReportViewer und. Version 14 kann nicht in Nuget gefunden werden. Microsoft.ReportingServices, ReportViewerControl.WebForms v14 installiert v 14 des Viewers nicht.Nutzen Sie nur VS 2017? – Thomas

+0

Ich benutze VS 2017, vielleicht ist es darauf beschränkt. Ich habe nicht mit einer älteren Version von VS versucht. Ich habe alle meine Projekte auf Report Viewer 14 aktualisiert, da die Berichte schneller als frühere Versionen in PDF gerendert werden. Da es sich um ein Nuget-Paket handelt, muss ich keine zusätzlichen EXE-Dateien auf den Servern installieren. – David

Antwort

0

Endlich gefunden der Grund für die langsamen Berichte!

wurde die web.config in 1,14 Sekunden

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

Mit LegacyCasModel auf true dem Server reagieren fehlt.

Ohne LegacyCasModel Reaktionszeit beträgt 11,79 Sekunden und eine CPU verwendet 100% in diesem Zeitraum!

LegacyCasModel wurde aufgrund anderer Funktionalität entfernt, hatte jedoch keine Ahnung, dass dies die Leistung so stark beeinträchtigen könnte.

Hoffe es hilft anderen in der gleichen Situation.