SQL Server Reporting Services Performance – Reports are Running Slow

plumbline consulting

It seems that many users have encountered a problem when reports suddenly began to work with a large delay. Here are a couple recommendations on how to adjust the behavior of the SQL Server Reporting Services in order to alleviate this issue…

1. Set the Appropriate Value for Recycle Time Option in the Configuration File for Reporting Services

This configuration file is located in the directory where the SSRS was installed, usually C:\Program Files\Microsoft SQL Server\MSRS11.REPORTS\Reporting Services\ReportServer\rsreportserver.config.

It is the default directory for SQL 2012 SSRS.

The recycle time is a scheduled timer in minutes based on when the last time SSRS has been manually restarted by a user. When a recycle occurs all idle resources within SSRS are freed. It defaults to 720 minutes. This value can be increased to allow SSRS to hold resources for a longer period in order to avoid slowing down the running of the reports due to the re-initialization of Reporting Services resources.

It is recommended to pay attention to this option especially in cases when you have a geographically distributed organization and cleaning application resources could adversely affect the operation of the branches.

2. The Management of an Available Memory for the Report Server

Most organizations do not install Reporting Services on a separate box. In this case, during the work hours the Reporting Services service is getting as much memory as it needs, at least when it runs reports and/or fulfills user’s requests. However, during the idle time (usually at night), the operating system can take the resources back.

Of course, additional RAM can be added, but this is not always possible. Another solution is to schedule an execution of some reports during the night hours. Yet another option would be to set a minimum amount of used RAM for the Reporting Services service.

The option is called WorkingSetMinimum and is specified in kilobytes, and is not enabled by default in the configuration file. To determine the required value it is recommended to observe the process Reporting Services (ReportingServicesService.exe) under the heavy workload.


On the screenshot above, the ReportingServicesService.exe uses 46,772Kb RAM. We can round this value to 50,000Kb and add the appropriate parameter into the rsreportserver.config configuration file.


<WorkingSetMinimum> 50000 </ WorkingSetMinimum>

NOTE: Do not forget that such a forced seizure of RAM may adversely affect other applications and/or services running on the same Windows server. Therefore, please, conduct a periodic monitoring of the server’s performance.