SSRS Reports 2008性能优化案例

9/1/2015来源:SQL技巧人气:2577

SSRS Reports 2008性能优化案例 2015-01-02 15:13 by 潇湘隐者, ... 阅读, ... 评论, 收藏, 编辑

我们的一个Reporting Service服务上部署了比较多的SSRS报表,其中有一个系统的SSRS报表部署后,执行时间相对较长,加之供应商又在asp.net页面里面嵌套了Reporting Service的报表,使得用户对报表响应速度非常不满,于是和几个同事研究了一番如何定位、优化SSRS报表性能。

案例环境:

操作系统 Windows Server 2008 R2 Standard SP1

数据库版本 : SQL Server 2008 R2 (SP2) - 10.50.4000.0 (X64)

现象描述:

综合了用户、开发人员那边反馈的问题后,发现该SSRS服务器上部署的其它系统的报表响应速度非常快,测试了其中几张报表发现基本在1~3秒内,但是这个系统(模块)的SSRS报表全部比较慢,基本上都8秒以上。而且是第一次访问非常慢,如果刷新或第二次访问非常快,但是如果修改报表URL参数时,也会非常慢。于是我就其中一个报表为例,查看该报表的的执行日志信息,如下所示,我们通过ExecutionLog与Catalog关联查看报表WF_MarkerRoom_Report的执行记录。具体细节可以参考一下Reporting Services 执行和跟踪日志记录

USE [ReportServer];
GO
SELECT C.Name AS ReportName
 ,E.ReportID AS ReportID
 ,E.UserName AS UserName
 ,E.Format AS Format
 ,E.Parameters ASParameters
 ,E.TimeStart AS TimeStart
 ,E.TimeEnd AS TimeEnd
 ,E.TimeDataRetrieval*1.0/1000 AS TimeDataRetrieval
 ,E.TimePRocessing*1.0/1000 AS TimeProcessing
 ,E.TimeRendering*1.0/1000 AS TimeRendering
 ,DATEDIFF(SECOND, TimeStart, TimeEnd)
 AS CostTime