【问题标题】:SSRS "Go to report" Drill Action gets Slower Over TimeSSRS“去报告”钻探行动随着时间的推移变得越来越慢
【发布时间】:2019-03-15 15:47:53
【问题描述】:

我们有一个报告解决方案,它利用 SSRS 中的“转到报告”钻取操作在报告之间移动。这使报告解决方案可以像包含多个选项卡和视图的仪表板一样运行,并且允许我们的用户直观地与他们的数据交互。

但是,我们注意到,在单击不同的报告一段时间(大约 20 个报告)后,报告解决方案变得越来越慢。曾经在 3 秒内返回的报告现在需要 10 秒才能返回。如果我们在报告解决方案中点击更长的时间,相同的报告可能需要 20 秒才能返回。

我感觉它与 SSRS 存储我们单击的每个报告的所有参数有关。我们每次传递大约 15 个参数,为了让浏览器上的后退按钮起作用,SSRS 需要在内存中存储每个以前报告的参数。这意味着我们点击的报告越多,浏览器需要恢复的数据就越多。如果我们关闭浏览器并重新打开报告解决方案,该报告会按预期再次快速返回。

有没有办法告诉 SSRS 停止持有这么多数据?我们可以将最大可能的“支持”数量设置为 2 或 3?还是我的问题完全是其他问题?我当然不知所措!谢谢!

编辑 - 一位同事提到“_viewstate”可能与此问题有关。也许这有助于某人回答这个问题?

编辑 2 - 到目前为止,我们最好的解决方案是使用“转到 URL”操作。这会刷新页面并消除似乎使系统陷入困境的历史堆栈...

【问题讨论】:

  • 这无疑是一种使用 SSRS 的复杂方式。您是否在 SSRS 上使用过事件查看器并运行性能日志?这是一个独立的服务器,还是一个负载平衡的集群?您是否在日志中收到诸如“状态验证异常失败”之类的消息(我不记得我见过的具体错误,但它很相似)?
  • 我没有尝试使用事件查看器(老实说,我什至不知道如何使用)。我相信这是一个独立的服务器,但我不确定。但是一旦你提到它,我确实记得在 ReportServer 日志中看到了错误。似乎每次加载报告时,我都会得到一行新代码,如下所示: processing!ReportServer_0-5!1eb4!03/21/2019-17:52:08:: e ERROR: Throwing Microsoft.ReportingServices.ReportProcessing .ReportProcessingException: , Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: 位置 26 的字段没有数据。;

标签: reporting-services reporting ssrs-2012 dashboard


【解决方案1】:

由于我还没有 50 个代表(所以我无法发表评论),我在最后看到了“第 26 位的字段没有数据”。我会检查你的数据集,看看会发生什么。 IE, datatype = datatype 或者换句话说,它可能以字符串的形式出现并试图转换为 int 或类似的东西。是的,它说“没有数据”,但 SSRS 很奇怪而且很狂野,有时你必须把错误消息之类的东西扔到窗外。

要扩展“该字段没有数据”,它可能是数据集中的一个 MISSING 字段(它已定义,但查询未选择它)。这就是该错误的具体含义,但我也看到了其他事情。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多