我们在同一生产服务器上运行 IIS 和 SSRS,并且有两种类型的报告 - 一种通过报告查看器运行,连接到 SSRS(远程模式),另一种调用 SSRS Web 服务来生成 PDF。
对于这两种报告类型,加载页面时都会变得非常慢,需要 20 秒以上。在服务器负载过重时,这种情况最为明显,在回收 IIS 中的应用程序池后,缓慢的情况会消失,但一段时间后又会再次出现(应用程序池设置为每天凌晨 3 点回收)。
我检查了 SSRS 的执行日志 - 对于所有报告,数据检索 + 处理 + 呈现的时间不超过 2 秒,并且 SSRS 的 http 日志表明当页面无响应时没有来自 IIS 的请求 - 一旦请求到达,它就会非常快速地加载。通过报告管理器运行报告时也非常快。
看起来 SSRS 并不是这里的罪魁祸首,而似乎是 IIS 中的某些东西导致了这个问题。
还有其他人遇到过类似的问题或可以给我指出正确的诊断方向吗?
非常感谢。
答案1
您在 IIS 上运行的报告是服务器报告 (RDL) 还是本地报告 (RDLC)?
RDLC 可能会受到本地应用程序池的影响,而本地应用程序池可以在 web.config 设置中进行偏移
<trust legacyCasModel="true">
不幸的是,这意味着其他东西比如 SignalR 也可能停止工作。
在 SSRS 上运行的 RDL 不应该受到在 IIS 上运行的负面影响……但这里没有足够的信息来提供质量反馈。