none
RDLC Localreports - Slow rendering of large reports (6000 records) and Export to excel times out RRS feed

  • Question

  • We are using RDLC Report Viewer (VS2008 SP1) in LocalReports mode with DB2 database on 32-bit Win2K3 VM (4GB RAM) :
    When multiple requests for large reports (<6000 records) are made, the reportviewer is very slow in rendering the report and export to EXCEL timesout after sometime.

    We have 4GB of memory on the VM, of which we noticed that only around 600MB (total server memory) was typically used and we used to get Out of Memory error.

    We tried with the /3G option to extend physical addressing (http://msdn.microsoft.com/en-us/library/aa366796%28VS.85%29.aspx), after which the memory usage increased to ~1.2 GB (total server memory usage).

    After this the server response was a little bit better, initial response is quicker but slowly the rendering gets sluggish. The export to excel functionality does not throw an out of memory exception now but timesout after sometime (~20 mins)

    This is the reportviewer tag in our aspx file.
    <rsweb:ReportViewer ID="MainReportViewer" runat="server" Font-Names="Verdana" Font-Size="8pt"
                                BorderStyle="None" ExportContentDisposition="AlwaysInline" Width="100%" HyperlinkTarget="_blank"
                                ShowBackButton="True" OnDrillthrough="MainReportViewer_Drillthrough" OnBack="MainReportViewer_Back"
                                AsyncRendering="true" ShowRefreshButton="false" SizeToReportContent="false"
                                OnReportError="MainReportViewer_ReportError">
                                <LocalReport EnableHyperlinks="true">
                                </LocalReport>
                            </rsweb:ReportViewer>

    And this is the code we use to bind the data.
            DataSet reportDataSet = //Get Data from the DB HERE
                report.DataSources.Add(new ReportDataSource(dataSourceName, reportDataSet.Tables[0])); 

    The RDLC is quite simple and data is about 6000 records.

    We tried adding an error handler on the report viewer, but was not able to capture the out of memory exception as the error handler never gets called.

    Apprecaite your help.
    Wednesday, October 21, 2009 12:27 AM

All replies