Server gives Out of Memory exceptions Often

2 posts, 0 answers
  1. KobusVisagie
    KobusVisagie avatar
    48 posts
    Member since:
    Sep 2010

    Posted 05 Apr 2018 Link to this post

    We are using Report Server to generate quite large report sets (up to 6000 pages, or 10Mb excel files).

    Because of this, we adopted the Report Server solution instead of a client side report architecture, facilitating processing of these large data sets.

    Our server has 32Gb of RAM and is used exclusively as a report server.

    The stored procedures to retrieve the data in question executes in around 25 seconds.


    Telerik Report Server will, however, still often fail with an out of memory exception.

    What concerns me is that the amount of data we use is nowhere near 32Gb in size.

    Currently, there is also only one or two users on the server at any point in time.

    The out of memory exception is also inconsistent: Sometimes these reports will run fine, other times the memory exception crops up, resutling in an extremely inconsistent server experience.


    What happens when 1000 users in the production environment tries to run the reports and the server actually has to behave like a server?


    Did we make a mistake adopting Telerik Report Server instead of Microsoft Report Server?

    Are we missing something?

  2. Ivan Hristov
    Ivan Hristov avatar
    220 posts

    Posted 10 Apr 2018 Link to this post

    Hello Kobus,

    We're sorry for the issues you're having with our products. It is important to us to understand the exact cause, so we would like to ask you to investigate further in order to help us pinpoint the problem. Here are a few suggestions to check:

    - Make sure the Report Server's application pool has Enable 32-bit flag set to false. Otherwise the worker process could use only 2GB of your memory. See this thread for reference.
    - Add a trace listener to the Report Server's web.config file and inspect the produced log. If the reason for the exception is still unknown, please send the log to us to investigate it on our side. This article explains how to add a trace listener in the Standalone Designer's configuration file, but the same approach applies to the  web applications as well.
    - Check the event viewer for any IIS-related errors. 

    You can also check the <processModel> element in the machine.config file, which is used to configure the IIS applications and increase the number of maxWorkerThreads if needed. A table with the recommended values can be found here.

    Please note that the time needed to execute the query against the database is not relevant to the time (and resources) needed to produce a report. A simple "select * from production.sales" query can be executed in a few seconds, but the received data must be processed (enumerated and aggregated), and the produced multidimensional dataset will be kept in memory until the final rendering (PDF, EXCEL, etc) is performed.

    Please apply the suggestions above and if you have further questions, let us know.

    Ivan Hristov
    Progress Telerik
    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Feedback Portal and vote to affect the priority of the items
Back to Top