On first run of SSRS, report rendering is very slow and in this post we will explore “how to speed up SSRS on first run”. The reason behind is that we have to wait for the application pool to spin up. During each start up, the SSRS web service reads and decrypts the rsreportserver.config file, it has to physically open up a socket connection between the two servers since the connection pool is empty, log into the database instance, etc. Also the web service has to make RPC calls into the Windows Service to get the encryption keys. There is an idle timeout value which forces the application to shut down after 20 minutes by default. We can tweak this timeout setting to have the application always up and running.
The solution to resolve this issue is :
You can modify the “RecycleTime” parameter in RSReportServer configuration file for SQL Server. The RSReportServer.config file can be found at the following location depending on your MSSQL version:
- SQLServer 2005: \Program Files\Microsoft SQL Server\\Reporting Services\ReportServer
- SQLServer 2008: \Program Files\Microsoft SQL Server\MSRS10.\Reporting Services\ReportServer
- SQLServer 2008 R2: \Program Files\Microsoft SQL Server\MSRS10_50.\Reporting Services\ReportServer
- SQLServer 2012: \Program Files\Microsoft SQL Server\MSRS11.\Reporting Services\ReportServer
- SharePoint mode: \Program Files\Common Files\Microsoft Shared\Web Server Extensions\15\WebServices\Reporting
The RecycleTime parameter value is in minutes, the default value is 720 (12 hours).