locked
Web Report Viewer running too slow RRS feed

  • Question

  • Hi,

    I have run into a slow webreportviewer rendering issue. I have done some debugging at my best effort. The issue is now focus on why the image files rendering have to wait for 0.5 s for each to actual download  between IIS web server and the SQL report server. I assume this is either a IIS or SQL configuration issue. Here is my tests:

    The Server is 2019 windows server, The IIS is a role of the window server. The SSRS is 2017. All are on the same machine. This configuration is purposely set up for the trouble shooting on a staging server. Test was also done on develop servers. The delay time is about the same with some other variations.

    A web page built by VS2017 with a WebReportViewer (2017) to load one SSRS report. 

    The SSRS report page is built by VS2017 and runs well on SSRS report portal. The report page contain 20+ indicators, and  rendered in about 1 second (this is human time), the machine time was 400 ms.

    Run the same SSRS report page through webreportviewer page on the same server through IIS website. It takes about 15 seconds (there are pages take much longer time, here this one is just for trouble shooting purpose).

    If I remove the indicators in the page (by building another report page), the Web Reportviewer page would be rendered in 1 second as fast as on the SSRS portal page. So, the slowdown was due to the indicator images.

    By inspecting the network performance on the Edge browser, the delay was due to the image files (png as the default indicator file format) loading was in waiting, the actual downloading time was 1 ms for each image. So, the waiting was spread out evenly about 500 ms. The last file would be downloaded at 15 second. 

    Please help me understand the root cause.


    • Edited by davidrca Saturday, June 29, 2019 1:14 AM
    Saturday, June 29, 2019 1:07 AM

Answers

  • Hi davidrca

    Seems you have solved you issue , if possible you could try to mark you solution as answer ,so that other members in this forum could get benefited from it .

    For the “SizeToReportContent=True” property , as the property name means,it would try to adjust the width and the height to fit the web page .

    Seems it could cost a lot of time .try to check if the time cost are most in the rendering step .

    Thanks for your support and understanding.

    Best Regards,

    Eric Liu


    Best Regards, Eric Liu MSDN Community Support Please remember to click Mark as Answer if the responses that resolved your issue, and to click Unmark as Answer if not. This can be beneficial to other community members reading this thread.

    • Marked as answer by davidrca Monday, July 1, 2019 10:10 PM
    Monday, July 1, 2019 2:36 AM

All replies

  • Update.

    The root cause has been identified. It was because the use of "SizeToReportContent="True"' in the code.

     <rsweb:ReportViewer ID="ReportViewer1" runat="server" ProcessingMode="Remote" SizeToReportContent="True" Height="1080px" Width="800px" >  

    Removing the resizing code, the web page rendered as fast as in the report server portal. This code line was added according to a sample and the need of my web page resizing. I would keep this post online in case someone run into the same problem.

    Still, not fully understand why the resizing would cause the delay of image download. Hope the web report viewer team can give a full explanation, because the resizing is still useful in certain applications.

    • Proposed as answer by Mitarai Queen Monday, July 1, 2019 2:31 AM
    Sunday, June 30, 2019 8:13 AM
  • Hi davidrca

    Seems you have solved you issue , if possible you could try to mark you solution as answer ,so that other members in this forum could get benefited from it .

    For the “SizeToReportContent=True” property , as the property name means,it would try to adjust the width and the height to fit the web page .

    Seems it could cost a lot of time .try to check if the time cost are most in the rendering step .

    Thanks for your support and understanding.

    Best Regards,

    Eric Liu


    Best Regards, Eric Liu MSDN Community Support Please remember to click Mark as Answer if the responses that resolved your issue, and to click Unmark as Answer if not. This can be beneficial to other community members reading this thread.

    • Marked as answer by davidrca Monday, July 1, 2019 10:10 PM
    Monday, July 1, 2019 2:36 AM
  • HI Eric,

    I have marked the issue as answered because the web page is running normal once the resizing code line was removed. 

    For the rest of developers, I did do a lot of tracing on the IIS side as well as on the SQL database , and SQL Reporting Server sides. Nowhere the resources were overwhelmed (no CPU, network, disk burst over 5% capacity). The resizing for each image (the icon) took about 0.35 ms. The wait (rendering page waiting) time was 0.5 sec or more for each image. It appears the ball was dropped some where. The only detected delay was at the SQL server database that 40+ requests were raised at the time the page requested the images, and then, the waiting was on for each image response to finish and the writing to log waiting time. The 3 waiting types were caused by somewhere could not complete the sending of images back to the web page. So, I keep these detail information for someone more skilled to dig out the true root causes.

    David

    Monday, July 1, 2019 10:28 PM