我们目前正在使用嵌入在aspx文件中的ReportViewer控件来为MVC Web应用程序呈现RDLC文件。使用nhibernate从SQL Server获取数据,ReportViewer以本地处理模式运行。各种报告包含RDLC内的计算,包括总和,计数和分组。
我们发现使用此方法的报告运行速度非常慢,通常会导致Web服务器显示服务“不可用错误”。
实时服务器似乎没有足够的资源来运行这些报告,即使在服务器具有更多内存和CPU速度的环境中,虽然报告没有超时,但它们需要很长时间才能运行甚至可以呈现一份报告。
是否有人就此事提出建议。我们如何减少这些报告的处理时间?
通过观察资源使用情况,报告查看器在内部对数据进行的计算花费了大量时间。作为数据的一个例子,我们正在查看大约3000份单独的报告,使用超过40000条记录来计算。