0

我正在使用 Visual Studio 2019 并使用 Microsoft Reporting Services Projects Extension v2.6.7。我面临的问题是我有一个处理大约 60k 记录的报告,该报告很复杂,并且具有组、重复标题、数据集过滤器以及 VB 代码。

用于此报表的存储过程在不到 10 秒内运行,当报表部署到报表服务器时,报表在不到 2 分钟内完成呈现。但是,当我在预览或运行模式(报表查看器)中使用 Visual Studio 运行相同的报表时,报表运行时间长达 17 到 20 分钟。我使用过 SQL Profiler,发现存储过程执行时间与报表执行时间几乎相同。存储过程旨在处理参数嗅探问题,我没有看到该过程有任何问题。

从报告方面来看,我尝试过 Keeptogether=false、Interactive size 等可能会影响性能的方法。他们看起来很好。

我还尝试添加 WorkingSetMaximum 以增加内存,但仍然没有运气。我正在使用的客户端需要将 RDLC 文件集成到他们的应用程序中,并且出于自己的原因不想在报表服务器上部署。

如何使我的报表在 Visual Studio 预览模式/报表查看器(运行模式)中运行得更快,以便我可以将报表的性能与我在报表服务器中获得的性能相匹配。

此外,如果有人可以判断报表呈现在报表服务器与预览模式上的工作方式是否存在差异。

编辑 1 - 报告服务器和数据库在我的笔记本电脑中配置,并且没有任何不同的配置。

编辑 2 - 我通过运行 SQL Profiler 收集到的另一个观察结果是,在预览模式期间,连接保持打开状态,并且数据检索时间证明了报告运行时间。两者都是一样的。但是当我在同一台机器上通过报表管理器运行报表时,过程会在几秒钟内完成,甚至报表呈现速度也更快。正如我上面提到的,我已经处理了参数嗅探。我现在试图了解 SSRS 引擎处理预览的报告渲染和数据检索以及何时将报告部署到报告服务的方式是否存在差异。

4

1 回答 1

0

我在 MSDN 中遇到了这个问答讨论。我试图复制它,它通过在配置文件中更改 CAS 的信任级别给了我一个修复。但我仍然对 Visual Studio 中的报表查看器的行为有疑问。是否有我们在应用程序配置中使用的任何类似设置可用于提高 Visual Studio 中的开发和测试性能。

MSDN 博客

使用现有框架但强制使用 Legacy CAS [代码访问安全] 安全性

  1. 在 Winforms 中<NetFx40_LegacySecurityPolicy enabled="true" />
  2. 在 ASP Net 应用程序中<trust legacyCasModel="true" level="Full"/>
于 2020-09-21T06:19:04.283 回答