SSRS在Visual Studio中报告速度很快,但在浏览器中很慢



我有一个在TOAD中运行非常快的Oracle查询。此外,在Visual Studio中,设置报表,一切都运行得非常快。但是在部署到SSRS站点后,使用相同的数据源,报告需要很长时间才能加载。

有人知道为什么,或者如何解决这个问题吗?

在SSRS中,在运行报告时记录了三个时间:数据检索时间、处理时间和呈现时间。除此之外,报告的输出必须通过网络发送到浏览器,并在浏览器中呈现以供显示。

首先,使用以下查询验证SSRS中的时间是否符合您的期望:

SELECT 
    ReportPath,
    RequestType,
    TimeDataRetrieval,
    TimeProcessing,
    TimeRendering
FROM 
    [ReportServer].[dbo].[ExecutionLog2] with (nolock)
WHERE
    ReportPath =  '/whatever/report'

即使数据检索时间很小,SSRS生成报告也可能需要很长时间。例如,向子报表添加大量的钻取会增加大量的额外输出。确定这一点的最简单方法是将浏览器中生成的报告导出为MHTML。您可能会对输出的大小感到惊讶。这是Visual Studio与浏览器在性能上有很大不同的地方。

显然,在慢速网络上传输大型报告会增加呈现时间(从用户的角度来看)。在我们的组织中,这种传输可以从穿过城镇多花半秒到穿过大西洋多花20秒。在没有工具的情况下,这有点难以精确测量,但经验测量应该会给你一个足够好的答案。

最后是浏览器本身。Chrome在渲染SSRS报告方面比IE快得多。如果你使用IE,检查兼容性视图设置——关闭它SSRS应该更快。同样在IE中,你可能想要切换加速图形的设置。在我们的组织中,有些用户在打开它时看到更好的性能,有些用户在关闭它时看到更好的性能。

最新更新