performance - SSRS 报告在 Visual Studio 中速度快但在浏览器中速度慢

标签 performance reporting-services

我有一个在 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,请检查兼容性 View 设置——关闭 SSRS 应该会更快。同样在 IE 中,您可能想要切换加速图形的设置。在我们的组织中,一些用户在打开它时看到更好的性能,而一些用户在关闭它时看到更好的性能。

关于performance - SSRS 报告在 Visual Studio 中速度快但在浏览器中速度慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40598881/

相关文章:

PHP/MySQL 性能

c++ - 查找表与 if-else

reporting-services - SSRS Web 服务 URL 提供错误 (500)

c# - MVC5 和 SSRS ReportViewer - 如何实现?

ssrs-2008 - SSRS 动态列名称

c# - 需要一种策略来缓存有关对象的信息而不使其保持事件状态

MySQL的执行顺序

performance - Apache是​​否缓存静态文件的压缩版本?

reporting-services - 在 SSRS 中找不到 Microsoft Dynamics CRM 提取类型

sql-server - 为什么 SSRS 会在报告中的随机位置粘贴对象?