Configure Available Memory for SSRS and monitoring SSRS tools

  • We are getting ready to run SSRS on SQL Server 2012 SP3 with Windows Server 2008 R2 Enterprise SP1. SSRS would be on the SQL Server database server. We have 1 TB RAM on the machine. SQL Server has a max memory setting of 820 GB (838,824 MB). I am trying to come up with a way to limit the amount of RAM that SSRS can use. We have a vendor application database running on the database server. I have read the following article:

    Configure Available Memory for Report Server Applications
    https://docs.microsoft.com/en-us/sql/reporting-services/report-server/configure-available-memory-for-report-server-applications

    There are two settings, WorkingSetMaximum and WoringSetMinimum that can be configured in the rsreportserver_config file. And it sounds like I can get away with just setting the WorkingSetMaximum and then the default for WorkingSetMinimum would be 60% of the WorkingSetMaximum.

    I know that the resource usage by SSRS probably depends on things like the number of reports executing concurrently, report size, and if performing a lot exporting to excel. However, I don't know the answer to these questions and I am trying to set the WorkingSetMaximum value to a reasonable amount. I don't know what reasonable is though.

    What is a reasonable starting value for WorkingSetMaximum?

    Do I need to stop/start SSRS Service after modifiying the rsreportserver_config file?

    How to monitor resource usage by SSRS? Are Task Manager and Activity Monitor good tools?.

    How to monitor resource usage by an SSRS Report? Is the ExecutionLog3 View good to use?.

    Just trying to get others thoughts and suggestions. Thanks in advance.

  • HookSqlDba7 - Wednesday, September 6, 2017 2:24 PM

    What is a reasonable starting value for WorkingSetMaximum?

    Do I need to stop/start SSRS Service after modifiying the rsreportserver_config file?

    How to monitor resource usage by SSRS? Are Task Manager and Activity Monitor good tools?.

    How to monitor resource usage by an SSRS Report? Is the ExecutionLog3 View good to use?.

    Just trying to get others thoughts and suggestions. Thanks in advance.

    1. As you know, it depends. There really isn't any magical answer. If you can test some processing, reports, you can monitor what's going on with the memory.
    2. Yes changes don't get picked up until the service is restarted.
    3. Personally I wouldn't use activity monitor. I first use Performance Monitor. To see if there are any changes to the memory (from what you read in that article and the boundaries) you can set the tracing to verbose. Then memory notifications will be logged.
    4. ExecutionLog3 is a great way to monitor resource usage by report. Don't forget about the addition info column either. You can get additional information in the Additional Info column by user defined setting the logging to verbose. Connect to SSRS with SSMS, right click on SSRS, select properties, go to advanced, go down to the User Defined section and change the ExectionLogLevel to verbose.
    For the verbose logging in the Reporting Services log (different from the ExecutionLogLevel above), you make changes to the ReportingServicesService.exe.config file. You change the DefaultSwitchValue to 4. The changes to that file, in addition some more information on the memory as well as the WorkingSetMaximum can be found in the Microsoft blog:
    Troubleshooting Memory Issues with Reporting Services

    It addresses a lot of the things you are asking about. It should help in terms of testing the memory, what to look for, etc.

    Sue

  • Thanks Sue_H. Your suggestions are a HUGE help!

Viewing 3 posts - 1 through 2 (of 2 total)

You must be logged in to reply to this topic. Login to reply