Search code examples
asp.netperformancewebformsreportviewerazure-cloud-services

ReportViewer slow performance when request comes from Canada vs USA


I have a .net web forms app running on Azure Cloud Service, there is a page to export report in PDF format using ReportViewer.

This report usually takes 5-6 min. to render in PDF and send it back to the browser.

However, we have a law firm client in Toronto, Canada who runs the report and the app takes 20 min. to render in PDF.

I cannot figure out what difference it makes to the ReportViewer the origin of the request (Canada vs USA) for performance, single line of code is below.

byte[] bytes = m_microsoftReportViewer.LocalReport.Render(type, null, out mimeType, out encoding,
                out extension, out streamids, out warnings);

Thoughts?


Solution

  • Have you tried adding below lin in your web.config:

    <trust legacyCasModel="true" level="Full"/> 
    

    Also check if it is ACS which is causing the error of latency.Your ACS and data source of report is in which region?

    Latency could be caused by region specific too. You can do a latency test using below URL.

    http://www.azurespeed.com/

    https://azure.microsoft.com/en-in/global-infrastructure/geographies/

    Additional Reference:

    https://social.msdn.microsoft.com/Forums/sqlserver/en-US/6d89e2ce-3528-465f-9740-7e22aa7b7aae/slow-performance-with-dynamic-grouping-and-reportviewer-in-local-mode

    Also please add a trace to see which step is causing delayed execution.

    Let me know if you need any further help.