Tuesday, March 20, 2012

Report manager very slow on first access

I'm learning Reporting Services 2000, and running it on a Win2k3 server. I
am the only person using the server and the network, so there are no issues
about many people trying to access anything.
While learning to build an ASP.NET application I ran across something
strange. The first time a report is run it takes a long time for the report
to render (regardless of whether I am accessing it through my web application
or through the Report Manger). After that the report would refresh fine
unless not accessed for a while.
After a bunch of google searches etc. I discovered I could elimnate (or
extend) the Idle Timeout for the DefaultAppPool and it would refresh without
a timeout problem. However, that does not solve the initial request which
still takes a while.
Can the w3wp.exe file be told to run when the server is booted up? Is there
some better way to handle this?
I read a post somewhere that suggested scheduling a dumby report to run at a
particular time so as to keep the Report server running. Are there not more
elegant ways to kick-start the Report Server and keep it running so that a
user won't experience the long delay if they are the first user of the day?
Thanks in advance.Nope, you pretty much have all the issues down. Scheduling a report to run
isn't too bad a solution (added to modifying the idle timeout). I have a
report that I look at daily anyway so I run that report and email it to
myself.
Another possibility, you can have a report autorefresh. I did that for
awhile. I just left this report up on my desktop.
Bruce Loehle-Conger
MVP SQL Server Reporting Services
"kvr901" <kvr901@.discussions.microsoft.com> wrote in message
news:A59F2811-2CF0-4B6A-B34D-5A51839FC3C4@.microsoft.com...
> I'm learning Reporting Services 2000, and running it on a Win2k3 server.
> I
> am the only person using the server and the network, so there are no
> issues
> about many people trying to access anything.
> While learning to build an ASP.NET application I ran across something
> strange. The first time a report is run it takes a long time for the
> report
> to render (regardless of whether I am accessing it through my web
> application
> or through the Report Manger). After that the report would refresh fine
> unless not accessed for a while.
> After a bunch of google searches etc. I discovered I could elimnate (or
> extend) the Idle Timeout for the DefaultAppPool and it would refresh
> without
> a timeout problem. However, that does not solve the initial request which
> still takes a while.
> Can the w3wp.exe file be told to run when the server is booted up? Is
> there
> some better way to handle this?
> I read a post somewhere that suggested scheduling a dumby report to run at
> a
> particular time so as to keep the Report server running. Are there not
> more
> elegant ways to kick-start the Report Server and keep it running so that a
> user won't experience the long delay if they are the first user of the
> day?
> Thanks in advance.|||Thanks for the quick reply. A few related questions:
1. As far as I have been able to determine there is no way to create a
dummy report that does not access some data, correct? (If I have to have a
dummy report I would prefer it just have some text like "hello, this is the
dummy rs booting report" or something that does not require it to gather data.
2. Is it better to leave the 20 minute Timeout, and just have the dummy
report generate itself every 5 or 10 minutes? I have read that the Timeout
has something to do with cleaning out garbage if the w3wp file gets corrupted
somehow.
3. Is this (what I consider a problem with Reporting Services 2000) still a
problem in Reporting Services 2005?
"Bruce L-C [MVP]" wrote:
> Nope, you pretty much have all the issues down. Scheduling a report to run
> isn't too bad a solution (added to modifying the idle timeout). I have a
> report that I look at daily anyway so I run that report and email it to
> myself.
> Another possibility, you can have a report autorefresh. I did that for
> awhile. I just left this report up on my desktop.
>
> --
> Bruce Loehle-Conger
> MVP SQL Server Reporting Services
> "kvr901" <kvr901@.discussions.microsoft.com> wrote in message
> news:A59F2811-2CF0-4B6A-B34D-5A51839FC3C4@.microsoft.com...
> > I'm learning Reporting Services 2000, and running it on a Win2k3 server.
> > I
> > am the only person using the server and the network, so there are no
> > issues
> > about many people trying to access anything.
> >
> > While learning to build an ASP.NET application I ran across something
> > strange. The first time a report is run it takes a long time for the
> > report
> > to render (regardless of whether I am accessing it through my web
> > application
> > or through the Report Manger). After that the report would refresh fine
> > unless not accessed for a while.
> >
> > After a bunch of google searches etc. I discovered I could elimnate (or
> > extend) the Idle Timeout for the DefaultAppPool and it would refresh
> > without
> > a timeout problem. However, that does not solve the initial request which
> > still takes a while.
> >
> > Can the w3wp.exe file be told to run when the server is booted up? Is
> > there
> > some better way to handle this?
> >
> > I read a post somewhere that suggested scheduling a dumby report to run at
> > a
> > particular time so as to keep the Report server running. Are there not
> > more
> > elegant ways to kick-start the Report Server and keep it running so that a
> > user won't experience the long delay if they are the first user of the
> > day?
> >
> > Thanks in advance.
>
>|||Answers in-line.
"kvr901" <kvr901@.discussions.microsoft.com> wrote in message
news:C28887CF-657E-48D1-9996-70DCB03D589D@.microsoft.com...
> Thanks for the quick reply. A few related questions:
> 1. As far as I have been able to determine there is no way to create a
> dummy report that does not access some data, correct? (If I have to have
> a
> dummy report I would prefer it just have some text like "hello, this is
> the
> dummy rs booting report" or something that does not require it to gather
> data.
You can definitely do this. Just create a report without the wizard. Add a
textbox to the screen and put some text in it.
> 2. Is it better to leave the 20 minute Timeout, and just have the dummy
> report generate itself every 5 or 10 minutes? I have read that the
> Timeout
> has something to do with cleaning out garbage if the w3wp file gets
> corrupted
> somehow.
I have left the timeout to the default because before I knew the reason I
had come up with a workaround (the autorefresh of the report). I don't know
if there is housekeeping occuring or not.
> 3. Is this (what I consider a problem with Reporting Services 2000) still
> a
> problem in Reporting Services 2005?
There has been no change. This is not a RS 2005 issue. RS 2005 is just an
asp.net application (1.1 framework application in RS 2000 and 2.0 framework
in RS 2005). This is an IIS asp.net issue. A change would have to come about
with a new version of IIS.
Bruce Loehle-Conger
MVP SQL Server Reporting Services
>
>
> "Bruce L-C [MVP]" wrote:
>> Nope, you pretty much have all the issues down. Scheduling a report to
>> run
>> isn't too bad a solution (added to modifying the idle timeout). I have a
>> report that I look at daily anyway so I run that report and email it to
>> myself.
>> Another possibility, you can have a report autorefresh. I did that for
>> awhile. I just left this report up on my desktop.
>>
>> --
>> Bruce Loehle-Conger
>> MVP SQL Server Reporting Services
>> "kvr901" <kvr901@.discussions.microsoft.com> wrote in message
>> news:A59F2811-2CF0-4B6A-B34D-5A51839FC3C4@.microsoft.com...
>> > I'm learning Reporting Services 2000, and running it on a Win2k3
>> > server.
>> > I
>> > am the only person using the server and the network, so there are no
>> > issues
>> > about many people trying to access anything.
>> >
>> > While learning to build an ASP.NET application I ran across something
>> > strange. The first time a report is run it takes a long time for the
>> > report
>> > to render (regardless of whether I am accessing it through my web
>> > application
>> > or through the Report Manger). After that the report would refresh
>> > fine
>> > unless not accessed for a while.
>> >
>> > After a bunch of google searches etc. I discovered I could elimnate (or
>> > extend) the Idle Timeout for the DefaultAppPool and it would refresh
>> > without
>> > a timeout problem. However, that does not solve the initial request
>> > which
>> > still takes a while.
>> >
>> > Can the w3wp.exe file be told to run when the server is booted up? Is
>> > there
>> > some better way to handle this?
>> >
>> > I read a post somewhere that suggested scheduling a dumby report to run
>> > at
>> > a
>> > particular time so as to keep the Report server running. Are there not
>> > more
>> > elegant ways to kick-start the Report Server and keep it running so
>> > that a
>> > user won't experience the long delay if they are the first user of the
>> > day?
>> >
>> > Thanks in advance.
>>|||Thanks, that worked great! I created a dummy report with one textbox and no
data connection, set it to overwrite itself to a directory every 10 minutes,
and now the Report Server works fine.
One related question that perhaps I should post elsewhere....
So far I have created a number of reports using VS2003 to make rdl files.
They work fine.
Using VS2005, how do I create an rdl file for SQL Reporting Services 2000?
When I am using VS2005 it tries to make an rdlc file.
For now I want to stick with Reporting Services 2000 until I have faster
machines with more memory etc. Do I need to continue to use VS2003 to create
and deploy the reports, or can I use VS2005 to create the reports?
Thanks again.|||Oooops... I wrote back too soon. It still doesn't work properly. After the
DefaultAppPool timeout is reached the w3wp file disappears from the
taskmanager and the Reporting Services manager takes a while to load up.
I tried setting the report refresh to every minute, and set the
DefaultAppPool timeout to 2 minutes. Sure enough, after two minutes the w3wp
ends.
I was hoping that the automatic refreshing of the report would override the
timeout setting.
Is the only way to fix this by making the timeout much longer, or maybe once
a day, or something like that?
"kvr901" wrote:
> Thanks, that worked great! I created a dummy report with one textbox and no
> data connection, set it to overwrite itself to a directory every 10 minutes,
> and now the Report Server works fine.|||RS 2005 only creates reports for RS 2000. RS 2005 can use a SQL Server 2000
database for its object cache/metadata. You still need a 2005 licence.
VS 2005 does not come with THE designer for RS 2005. It comes with A
designer that will create RDLC files for use with the new report viewer
control. If you have played with it you will see there is no preview, you
have to put the control on a form/web page and view that.
RS 2005 comes on the SQL Server 2005 CD, the report designer comes with its
own version of VS 2005 so if you are not creating custom assemblies or
extensions then you do not need to purchase or install VS 2005. If there, it
will integrate with it.
I find the designer with RS 2005 much better. Even if you want to use the
new controls in local mode (no server required) it is best to use the RS
2005 report designer and then when ready to integrate with the controls you
just rename it from rdl to rdlc.
Bruce Loehle-Conger
MVP SQL Server Reporting Services
"kvr901" <kvr901@.discussions.microsoft.com> wrote in message
news:AABD016F-8937-45EE-A15E-BCECAE95EA1D@.microsoft.com...
> Thanks, that worked great! I created a dummy report with one textbox and
> no
> data connection, set it to overwrite itself to a directory every 10
> minutes,
> and now the Report Server works fine.
> One related question that perhaps I should post elsewhere....
> So far I have created a number of reports using VS2003 to make rdl files.
> They work fine.
> Using VS2005, how do I create an rdl file for SQL Reporting Services 2000?
> When I am using VS2005 it tries to make an rdlc file.
> For now I want to stick with Reporting Services 2000 until I have faster
> machines with more memory etc. Do I need to continue to use VS2003 to
> create
> and deploy the reports, or can I use VS2005 to create the reports?
> Thanks again.
>

No comments:

Post a Comment