Irfan
Irfan

Reputation: 695

SSRS Configuration rsreportserver.config <RecycleTime>

I was facing a problem while accessing the first SSRS report of the day taking more time. But I got to know about <RecycleTime>, I found below references to understand the scenario.

SSRS Slow Startup

Speed up SSRS on the first Run

Still, a few things are not clear to me, could anyone please help to solve my below questions??

  1. If I set 12 hours of <RecycleTime>, then after every 12 hours SSRS Service will be re-Initialised forcefully? Or the recycle period will be extended after every last use of SSRS-Service(I mean last use of SSRS report)?

  2. Is there any way to stop re-initializing after a certain period of time? Or any other option to automatically call the first report after its re-initialization, so the user can access their report without slow-startup?

EDIT:1 Error While Executing restart service command in Powershell (the Service name is correct)

PS C:\Users\XYZXYZ> Restart-Service "SQL Server Reporting Services (MSSQLSERVER)"

OR

PS C:\Users\XYZXYZ> Restart-Service "ReportServer"

Restart-Service: Service 'SQL Server Reporting Services (MSSQLSERVER) (ReportServer Cannot open service.
Occurrence location Line: 1 Character: 1
+ Restart-Service "SQL Server Reporting Services (MSSQLSERVER)"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     + CategoryInfo: CloseError: (System.ServiceProcess.ServiceController: ServiceController)
     + FullyQualifiedErrorId: CouldNotStopService, Microsoft.PowerShell.Commands.RestartServiceCommand

[Resolved]: (Edit-1) Error: Open Powershell as Run as Administrator

Upvotes: 1

Views: 2181

Answers (1)

Mitch Wheat
Mitch Wheat

Reputation: 300559

  1. The recycle time is measured from the last time SSRS restarted. When a recycle occurs, idle resources within SSRS are freed. This value can be changed to allow SSRS to keep resources for a longer period to prevent slowdowns due to re-initializing SSRS resources. So yes, the recycle is forced.
  2. One way to achieve a fast startup, is to schedule a 'dummy' run of the report right after the recycle time.

Try setting the re-cycle time to 1440 minutes (=24 hours), and manually (or better still, automatically) get SSRS to restart at a preset time (e.g. midnight).

If you're running SSRS on the same box as the SQL Server engine, you will probably need to carefully monitor SSRS memory use and set a SSRS minimum working set accordingly.

To control when the SSRS recycle occurs, you can execute a 1 line powershell script from a SQL Agent job at 5:50 am say, then generate your subscription report at 6 am. This will restart SSRS and users should not see any performance degradation in subsequently generating the report. [You will need to run PowerShell as an administrator]

restart-service 'ReportServer'

Building a script to restart REPORTING SERVICES automatically

Application Domains for Report Server Applications

Configure Available Memory for Report Server Applications

Upvotes: 2

Related Questions