SSRS 2008 R2 RecycleTime and Slow Start Up issue
Everyone may know the problem where the SQL Server seems to "fall asleep" and then your initial request to it takes forever. The issue is that the server recycles the app pool or app domain as they call it in their log automatically based on the recycle time value (in minutes) found in the rsreportserver.config file under the <Services> tag. The default is 720 (or 12 hours). I've read many solutions that people simply increase this value to 2880 or something like that so that the AppDomain doesn't shut down. This is really only a band aid because after this amount time passes, the app domain will still be recycled and a new one created in its place. Also, there's other reasons why the app domain might recycle including Memory shortages, configuration changes, and Reporting Service/Machine restart. It seems that the time-consuming part is the first request to the new app domain when it loads up all its structure information. If no request is made, it doesn't seem to load until it sees a request. This is bad for any user who gets that first request to the server and their report either times out or takes a long time to load. At this point the only solution I can find is to write a service that makes a request to the reporting web service URL at certain intervals. This is not an ideal solution as polling the service is not as robust as subscribing to a shutdown event and firing our load request at that time. My question is to ask if anyone knows if there's a way to subscribe to the SSRS 2008 R2 web server's app pool shut down or start up events to be able to run a program so I can kick off the load request. If that's not possible, is there a way to read the Reporting services database and tell when the next scheduled recycle is due? As it stands now, you might know that the recycle time is twelve hours but you don't know at what time that 12 hours will be up next or when it was out last so knowing the recycle time doesn't do a lot of good. For instance, you could be running the load request every hour and your recycle time might be 12 hours. Say recycle time is up at 2:05AM and you've just ran your load request at 2:00AM. It will be 55 minutes until your load request runs again or until the first person requests a report, which might time out based on the app domain load time. This is not a good solution and potentially renders your polling server wake up code pointless. Does anyone know an elegant solution? Thanks
June 28th, 2011 11:53pm

Hi Douglas Watts, I have escalated this thread, and escalation engineer will handle this thread as soon as possible. Hope the issue could be resolved soon. Thanks, Eileen Forum Support Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.
Free Windows Admin Tool Kit Click here and download it now
June 30th, 2011 6:17am

We are having the same issue. I'd like to see a resolution since this same thing seems to have happened in RS 2005.
June 30th, 2011 6:21pm

Hello Douglas/ kacoru1, There are no app pools in SSRS 2008 R2. The app domain recycles every 12 hours which you can change by changing recycle time value found in the rsreportserver.config file under the <Services> tag. There is no workaround for this issue unless you never want to recycle the app domain. This is an issue with any ASP.NET application and this is how it works. The only option is to set something up to hit the server after it recycles i.e., something like a task scheduled to hit the server once the recycle occurs. But as pointed out earlier, it is not possible to know at what time that 12 hours will be up next or when it was out last in SSRS 2008. So this process might get a little tedious. Regards, Swetha Ganapatiraju | Microsoft Online Community Support Get or Request Code Sample from Microsoft Please remember to mark the replies as answers if they help and unmark them if they provide no help.
Free Windows Admin Tool Kit Click here and download it now
July 1st, 2011 1:18am

Hi Swetha, I am ok with app domain recycles with can we setup a specific time for this... Regards, Naveen
July 22nd, 2011 6:12pm

I have no dispute with SSRS needing to recycle periodically. However, I need to ensure that the first user to run a report after such a recycle is not made to ensure a long wait. The specific deliverables that I need with regard to this issue are as follows: Either: 1a) A specific command I can enter as a Windows Task Manager task that will cause SSRS 2008 R2 to wake up. 1b) A method to schedule the recycle at a specific time of day. Otherwise there is no way to know for sure when the recycle will occur and therefore when to schedule the Task Manager task. Or: 2) Code that can be run as a service to detect that a recycle has just occurred and, in response, cause SSRS 2008 R2 to wake up. The second option would be my preference, as it would compensate for unplanned server restarts and other causes for the recycle to occur. If neither option is possible with 2008 R2, Microsoft should strongly consider putting the necessary "hooks" in for the Denali release.
Free Windows Admin Tool Kit Click here and download it now
August 4th, 2011 2:21pm

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics