SSRS Wake-Up Call

After a timespan of idle SSRS falls asleep;the first request will be extremly slow,up to several minutes.This PowerShell script performs a simple HTTP request to the SSRS-RM url,to simulate a normal activity.If you run it frequently you avoid the SSRS worker shutdown.

4.7 Star
15,234 times
Add to favorites
E-mail Twitter Digg Facebook
  • SSRS 2016
    2 Posts | Last post May 31, 2018
    • Hi Olaf,
      I can't for the life of me get this to work for SSRS 2016. Does it work for 2016? 
      Can it be modified for 2016?
      Thank you
    • Matt_b31,
      There is an extra ' in the SQL code
  • Usage for SharePoint Integrated SSRS
    1 Posts | Last post August 26, 2013
    • Olaf,
      I was thrilled to find this script but a little stumped on how to use it for a SharePoint Integrated SSRS since the Report Manager is not available when in Integrated mode. I did try pointing at a URL SharePoint generated when opening a report but it returns "Got response, but not as expected". Also, I prefer to not point at a particular report as reports change, but would consider creating a dummy report just to allow this script a place to point.
  • Great idea!
    6 Posts | Last post August 09, 2013
    • This is a smart and interesting solution. Thanks!
    • I'm going to talk to some RS folks about this. Have you spoken to anyone on the RS team about this issue and solution?
    • Hello Ed,
      It's not really an issue; it's the normal behaviour of the web server hosting the reports.
      In SSRS 2005 the IIS is used and here you have a configuration setting "Idle timeout" => "Shutdown worker process after being idle for (time in minutes)."
      In SSRS 2008 you have to edit a config file to change "RecycleTime/MaxAppDomainUnloadTime"
      Not every company do have a fulltime SysAdmin or an engineer do such system changes; a failure could crash SSRS.
      But everyone could run this little script and it is a very harmless one.
      Please have a look at Reporting Forum and search for "Slow first report", you will find a lot of entries.
      There are also several blog articles about it, e.g.:
      Best regards, also to the SSRS team,
      Olaf Helper
    • Great little script.
    • Nice contribution, Olaf, thanks for sharing.
    • Very useful script Olaf.
      For portability, I modified the scripy to obtain the hostname as opposed to hardcoding it directly within the script as such:  
      $a = hostname
      [string] $url = "http://$a/Reports/Pages/Folder.aspx";
      It obviously assumes the SSRS instance is configured with the default hostname and that the PoSh script is being executed from the same machine where the SSRS Reportsever is hosted.   Not sure if it buys anything since when scripting the job you could do the same, but I thought I'd share it anyway.