Performance, snapshots, caching (Reporting Services)

A combination of factors affects report server performance. These factors include hardware, number of concurrent users accessing reports, the amount of data in a report, and output format. It's important to understand the performance factors that are specific to your installation and the remedies produce the results you want. To do so, you need to get baseline data and run tests. For more information about tools and guidelines, see Reporting Services performance optimization and Use Visual Studio 2005 to perform load testing on a SQL Server 2005 Reporting Services report server.

General principles to consider include:

  • Report processing and rendering are memory intensive operations. When possible, choose a computer that has sufficient memory.

  • Hosting the report server and the report server database on separate computers tends to provide better performance than hosting both on a single high-end computer.

  • If all reports are processing slowly, consider a scale-out deployment where multiple report server instances support a single report server database. For best results, use load balancing software to distribute requests evenly across the deployment.

  • If a single report is processing slowly, tune report dataset queries if the report must run on demand. You might also consider using shared datasets that you can cache, caching the report, or running the report as a snapshot.

  • If all reports process slowly in a specific format, like while rendering to PDF, consider file share delivery, adding more memory, or choosing a different format.

  • To find out how long it takes to process a report and other usage metrics, review the report server execution log. For more information, see Report server ExecutionLog and the ExecutionLog3 view.

  • For more information about how to mitigate performance issues by tuning memory management configuration settings, see Configure available memory for report server applications.

In this section

Monitor report server performance
Describes the performance objects you can use to track the processing load on your server.

Set report processing properties
Describes ways of configuring a report to run on demand, from cache, or on a schedule as a report snapshot.

Configure available memory for report server applications
Describes how you can override default memory management behavior.

Cache reports (SSRS)
Describes report caching behavior on a report server.

Cache shared datasets (SSRS)
Describes shared dataset caching behavior on a report server.

Process large reports
Provides recommendations on how to configure and distribute a large report.

Set time-out values for report and shared dataset processing (SSRS)
Explains how to set time outs on query and report processing.

Manage a running process
Verify a report run