6月1日左右。2017年,我们的RDLC报告突然运行速度很慢。
一个小报告返回大约100行,在Tablix中呈现,IIS将100%持续9-10秒。
在收到报告数据并开始渲染报告后,CPU增加发生。
该问题存在于Windows Server 2016和Windows 10(Iisexpress和IIS(环境上,而同一报告正常在Windows Server 2012上运行,仅将IIS CPU提升不到一秒钟。
Microsoft ReportViewer是版本11.0和.NET版本4.6.1648.0。我们已将Windows Server 2012更新为.NET版本4.7.2053.0,并且仍在运行迅速。Windows 10也已更新为4.7.2053版本,并且仍然很慢(CPU负载高(。
所有Web.config设置在所有机器上都是相同的,并且AppPool的配置相同。
我们已经使用ReportViewer版本12进行了测试,这是同一问题(Win2016/win10的速度很慢,在Win2012上快速(。
我们怀疑该问题与IIS或.NET或其他Microsoft模块有关。
还有其他问题吗?有什么想法吗?
最终找到了慢报告的原因!
web.config缺少
<trust legacyCasModel="true" level="Full"/>
使用LegacyCasmodel到True服务器以1.14秒响应。
没有legacyCasmodel响应时间为11.79秒,在此期间,一个CPU使用100%!
legacyCasmodel由于其他功能而被删除,但不知道这可能会对性能产生如此严重的影响。
希望它在同一情况下帮助他人。