来自 URL 的 SSRS 报告花费了大量时间

SSRS report from URL taking a huge amount of time

我有一个检索大量数据(二十万条记录)的存储过程。 SP 在 SSMS 中运行良好,运行 时间约为 12 秒。 我正在 运行 使用 SP 生成 SSRS 报告,它在 SSRS 预览中运行良好,大约需要 30 秒。 当我 运行 通过 SSRS URL 访问 SSRS 报告时,它会挂起大约半小时,然后

崩溃

Sys.WebForms.PageRequestManagerServerErrorException: An unknown error occurred while processing the request on the server. The status code returned from the server was: 500

虽然 SP c运行获取了大量数据,但它只 returns 报告中的少量数据(最多大约 200 行)。

我已确保我的 SP 具有本地参数并且所有输入参数都通过这些参数传递以供使用(我认为这有助于参数嗅探?)。

我已经检查过 SSRS 预览没有通过清除缓存来检索缓存数据。

我已经尝试了 DBCC DROPCLEANBUFFERS;DBCC FREEPROCCACHE 看看是否有区别。

我使用 Select * From Executionlog2 检查日志,发现 TimeDataRetrival = 32550TimeProcessing = 29TimeRendering = 1798778

在我看来,报告需要很长时间才能呈现而不是检索数据,考虑到传递给呈现器的行数很少,这很奇怪。

有人知道我 action/investigation 的下一个课程应该是什么吗?

经过漫长而拖延的调查,我找不到报告渲染花费很长时间的理由。 最后,我创建了一个新报告并逐步添加了项目,不断测试以缩小导致渲染问题的原因。 最后,我完整地重新创建了报告,'new' 报告运行良好。我唯一能从中得到的是,原件上有一些轻微的东西 'off' 使渲染器跳闸并导致某种延迟。

这个问题的答案可能会为您提供解决此 SSRS 网络 UI 问题的诊断思路,它生成了 500 HTTP 状态代码。

如果报表查询结果减少到一个较小的子集,则可以避免 Web 服务器故障 (500)。