all groups > sql server reporting services > october 2007 >
You're in the

sql server reporting services

group:

Reporting Services - Local Report - Memory & Session Usage


Reporting Services - Local Report - Memory & Session Usage Antony
10/29/2007 8:19:00 PM
sql server reporting services:
Hello there, I'm currently experiencing some issues with Reporting
Services' ReportViewer Control. When running the control without a Reporting
Server in 'Local' processing mode we cannot serve very many simultaneous
requests. Worse, if a single user opens several reports one after the other
they can easily get an OutOfMemory exception from the w3wp.exe (Attempting to
serialize something?). I've debugged the page and supporting code and looked
at some output from CLRProfiler with no obvious leaks. I have noticed
something though, after each report is loaded, another ReportHierarchy object
is stored in the user's Session server side. Is the report control storing
the data in session?

--- page code ---
....AutoEventWireup="true".....
.....
<rsweb:ReportViewer
Width="100%"
runat="server"
AsyncRendering="true"
ShowPrintButton="true"
ShowRefreshButton="false"
ID="<blahblah>"
ShowExportControls="true"
ExportContentDisposition="AlwaysInline">
</rsweb:ReportViewer>

--- page behind code ---
reportControl.Reset();
reportControl.ShowPrintButton = true;
reportControl.ShowRefreshButton = false;
reportControl.LocalReport.LoadReportDefinition(<stream>);
reportControl.LocalReport.DisplayName = "My Report";
reportControl.LocalReport.DataSources.Clear();
reportControl.LocalReport.DataSources.Add(new
ReportDataSource(ReportDefinitionGenerator.DYNA_DATASET_NAME,
<DataTable>.DefaultView));
reportControl.SizeToReportContent = true;


Cheers
Antony

RE: Reporting Services - Local Report - Memory & Session Usage Antony
11/2/2007 8:07:03 AM
Still waiting? Any advice? We're looking at changing the design and
moving away from running reports in 'Local' Processing mode but that would
require making a staging area for the data that the Reporting Services Server
could also access.

;(


[quoted text, click to view]
Re: Reporting Services - Local Report - Memory & Session Usage Bruce L-C [MVP]
11/2/2007 10:44:32 AM
I looked at doing local reports and decided against it due to a variety of
reasons. One, designing and testing is a lot harder. Subreports are a pain.
Lots more mucking around.

The local report mode is not intended to be a replacement for the server
based product. If it was, then why buy the server (seeing as how the control
comes with VS and does not require any licensing). So, it does not surprise
me that it has limitations under load.

There is a major shift in how you design. You are used to creating the
tablesets, responding to events etc. With the server based product you
design the dataset and let RS get the data. You do not respond to events.
Yes, you can write a data processing extension if you want but it is
non-trivial and I would only go that way if you absolutely must. Otherwise,
in the report definition define the datasets by putting in the SQL or
referring to a stored procedure.


--
Bruce Loehle-Conger
MVP SQL Server Reporting Services

[quoted text, click to view]

AddThis Social Bookmark Button