Настройка доступной памяти для приложений сервера отчетовConfigure Available Memory for Report Server Applications

Хотя службы Службы Reporting ServicesReporting Services могут использовать всю доступную память, можно переопределить поведение по умолчанию, настроив верхний предел ресурсов памяти, выделяемых серверным приложениям служб Службы Reporting ServicesReporting Services .Although Службы Reporting ServicesReporting Services can use all available memory, you can override default behavior by configuring an upper limit on the total amount of memory resources that are allocated to Службы Reporting ServicesReporting Services server applications. Можно также задать пороговые значения, которые изменяют способ назначения приоритета и обработки запросов сервером отчетов в зависимости от дефицита свободной памяти.You can also set thresholds that cause the report server to change how it prioritizes and processes requests depending on whether it is under low, medium, or heavy memory pressure. При малом дефиците свободной памяти сервер отчетов назначает чуть более высокий приоритет интерактивной обработке отчетов или обработке отчетов по запросу.At low levels of memory pressure, the report server responds by giving a slightly higher priority to interactive or on-demand report processing. При серьезном дефиците свободной памяти сервер отчетов использует многочисленные приемы, чтобы сохранить работоспособность в условиях ограниченных доступных ресурсов.At high levels of memory pressure, the report server uses multiple techniques to remain operational using the limited resources available to it.

В этой статье описаны настраиваемые пользователем параметры конфигурации и реакция сервера в случаях, когда при обработке запросов нужно учитывать недостаток свободной памяти.This article describes the configuration settings that you can specify and how the server responds when memory pressure becomes a factor in processing requests.

Политики управления памятьюMemory management policies

Службы Reporting ServicesReporting Services изменяют объем памяти, выделяемый определенным приложениям и типы обработки запросов.responds to system resource constraints by adjusting the amount of memory that is allocated to specific applications and types of processing requests. Приложения, которые выполняются в службе сервера отчетов и участвуют в управлении памятью.Applications that run in the Report Server service and that are subject to memory management include:

  • Веб-портал, клиентский веб-интерфейс для сервера отчетов.The web portal, a Web front-end application for the report server.

  • Веб-служба сервера отчетов, используемая для интерактивной обработки отчетов и запросов по требованию.Report Server Web service, used for interactive report processing and on-demand requests.

  • Приложение фоновой обработки, используемое для обработки отчетов по расписанию, доставки подписок и обслуживания баз данных.A background processing application, used for scheduled report processing, subscription delivery, and database maintenance.

Политики управления памятью применяются к службе сервера отчетов в целом, а не к отдельным приложениям, выполняемым внутри процесса.Memory management policies apply to the Report Server service as a whole, and not to individual applications that run within the process.

Если недостатка памяти нет, то каждое серверное приложение запрашивает некоторый объем памяти при запуске, не дожидаясь получения запросов, чтобы обеспечить оптимальную производительность, когда запросы будут, наконец, получены.If there is no memory pressure on the system, each server application requests some memory at startup, in advance of receiving requests, to deliver optimum performance when requests are eventually received. По мере возникновения недостатка памяти, сервер отчетов корректирует модель процесса, как описано в следующей таблице.As memory pressure builds, the report server adjusts its process model as described in the following table.

нехватка памяти;Memory pressure Реакция сервераServer response
НизкийLow Обработка текущих запросов продолжается.Current requests continue to process. Новые запросы принимаются почти всегда.New requests are almost always accepted. Запросы к приложениям, выполняющим обработку в фоновом режиме, имеют более низкий приоритет, чем запросы к веб-службе сервера отчетов.Requests that are directed to the background processing application are given a lower priority than requests directed to the Report Server Web service.
СреднийMedium Обработка текущих запросов продолжается.Current requests continue to process. Новые запросы могут быть приняты.New requests might be accepted. Запросы к приложениям, выполняющим обработку в фоновом режиме, имеют более низкий приоритет, чем запросы к веб-службе сервера отчетов.Requests that are directed to the background processing application are given a lower priority than requests directed to the Report Server Web service. Выделение памяти сокращается для всех трех серверных приложений, более всего сокращение касается фоновой обработки, чтобы выделить больше памяти для запросов веб-службы.Memory allocations for all three server applications are reduced, with relatively larger reductions to background processing to make more memory available for Web service requests.
ВысокийHigh Выделение памяти сокращается еще больше.Memory allocation is further reduced. Запросы дополнительной памяти со стороны серверных приложений запрещены.Server applications that request more memory are denied. Обработка текущих запросов замедляется и для их завершения требуется больше времени.Current requests are slowed down and take longer to complete. Новые запросы не принимаются.New requests are not accepted. Сервер отчетов выгружает файлы данных из памяти на диск.The report server swaps in-memory data files to disk.

Если ограничения памяти становятся критическими и отсутствует память для обработки новых запросов, то сервер отчетов возвращает ошибку HTTP 503, которая свидетельствует о недоступности сервера, пока завершается обработка текущих запросов.If memory constraints become severe and there is no memory available to handle new requests, the report server will return an HTTP 503 server unavailable error while current requests are completing. В некоторых случаях может быть выполнена очистка домена приложений, чтобы немедленно сократить недостаток свободной памяти.In some cases, the application domains might be recycled to immediately reduce memory pressure.

Нельзя настроить реакцию сервера отчетов для различных сценариев нехватки свободной памяти, но можно назначить параметры конфигурации, которые определяют границы, разделяющие реакцию на высокий, средний и низкий недостаток свободной памяти.Although you cannot customize the report server responses to different memory pressure scenarios, you can specify configuration settings that define the boundaries that separate high, medium, and low memory pressure responses.

Когда следует настраивать параметры управления памятьюWhen to customize memory management settings

Параметры по умолчанию указывают неравные области для низкой, средней и высокой нехватки свободной памяти.The default settings specify unequal ranges for low, medium, and high memory pressure. По умолчанию область низкой нехватки свободной памяти больше, чем зоны средней и высокой нехватки свободной памяти.By default, the low memory pressure zone is larger than the zones for medium and high memory pressure. Такая конфигурация оптимальна для нагрузки, которая распределена равномерно, либо увеличивается или сокращается постепенно.This configuration is optimum for processing loads that are evenly distributed or that grow or decline incrementally. В этом случае переход между зонами совершается постепенно, и у сервера отчетов есть время скорректировать реакцию.In this scenario, the transition between zones is gradual and the report server has time to adjust its response.

Если нагрузка изменяется скачками, то полезно изменить параметры по умолчанию.Modifying the default settings is useful if the load pattern includes spikes. Если нагрузка изменяется внезапными скачками, то сервер отчетов может очень быстро перейти от состояния без недостатка свободной памяти к отказам выделения памяти.When there are sudden spikes in the processing load, the report server might go from no memory pressure to memory allocation failures very quickly. Это может произойти, если имеется несколько экземпляров отчетов, требующих много памяти и запускаемых одновременно.This might occur if you have multiple concurrent instances of a memory-intensive report that start at the same time. Для обработки нагрузки такого типа рекомендуется как можно скорее перевести сервер отчетов в область средней или высокой нехватки памяти, чтобы замедлить обработку.To handle this type of processing load, you want the report server to move into a medium or high memory pressure response as soon as possible so that it can slow down processing. Это позволит завершить больше запросов.This allows more requests to complete. Для этого нужно уменьшить значение для MemorySafetyMargin , чтобы уменьшить область низкой нехватки памяти относительно других областей.To do this, you should lower the value for MemorySafetyMargin to make the low memory pressure zone smaller relative to the other zones. В результате реакция на среднюю и высокую нехватку памяти будет происходить раньше.Doing so will cause responses for medium and high memory pressure to occur earlier.

Параметры конфигурации для управления памятьюConfiguration settings for memory management

Параметры конфигурации, которые управляют распределением памяти для сервера отчетов — WorkingSetMaximum, WorkingSetMinimum, MemorySafetyMarginи MemoryThreshold.Configuration settings that control memory allocation for the report server include WorkingSetMaximum, WorkingSetMinimum, MemorySafetyMargin, and MemoryThreshold.

  • ПараметрыWorkingSetMaximum и WorkingSetMinimum определяют область доступной памяти.WorkingSetMaximum and WorkingSetMinimum define the range of available memory. Настраивая эти параметры, можно установить область доступной памяти для приложений сервера отчетов.You can configure these settings to set a range of available memory for the report server applications. Это полезно, если несколько приложений размещаются на одном компьютере, и известно, что сервер отчетов использует непропорциональное количество системных ресурсов по сравнению с другими приложениями на том же компьютере.This can be useful if you are hosting multiple applications on the same computer and you determine that the report server is using a disproportionate amount of system resources relative to other applications on the same computer.

  • ПараметрыMemorySafetyMargin и MemoryThreshold указывают границы низкого, среднего и высокого уровней нехватки свободной памяти.MemorySafetyMargin and MemoryThreshold set the boundaries for low, medium, and high levels of memory pressure. Для каждого состояния службы Службы Reporting ServicesReporting Services предпринимают действие по исправлению, чтобы обработка отчетов и другие запросы выполнялись в соответствии с объемом памяти, доступной на компьютере.For each state, Службы Reporting ServicesReporting Services takes corrective action to ensure report processing and other requests are handled appropriately relative to the amount of memory that is available on the computer. Можно указать параметры конфигурации, которые определяют разграничение между низким, средним и высоким уровнями нехватки свободной памяти.You can specify configuration settings that determine the delineation between low, high, and medium pressure levels.

    Параметры конфигурации можно изменить, но это не улучшит производительность при обработке отчетов.Although you can change the configuration settings, doing so will not improve report processing performance. Изменение параметров конфигурации полезно, только если запросы теряются прежде, чем будут завершены.Changing the configuration settings is useful only if requests are getting dropped before they complete. Лучший способ повысить производительность сервера — развернуть сервер отчетов или его отдельные приложения на разных компьютерах.The best way to improve server performance is to deploy the report server or individual report server applications on dedicated computers.

На следующей иллюстрации показано, как параметры используются совместно, чтобы различить низкий, средний и высокий уровни нехватки свободной памяти:The following illustration shows how the settings are used together to distinguish between low, medium, and high levels of memory pressure:

Параметры конфигурации для состояния памятиConfiguration settings for memory state

В следующей таблице приведены описания параметров WorkingSetMaximum, WorkingSetMinimum, MemorySafetyMarginи MemoryThreshold .The following table describes WorkingSetMaximum, WorkingSetMinimum, MemorySafetyMargin, and MemoryThreshold settings. Параметры конфигурации задаются в файле RSReportServer.config.Configuration settings are specified in the RSReportServer.config file.

ЭлементElement ОписаниеDescription
WorkingSetMaximumWorkingSetMaximum Порог памяти, после которого больше не будут приниматься новые запросы на предоставление памяти от приложений сервера отчетов.Specifies a memory threshold after which no new memory allocations requests are granted to report server applications.

По умолчанию сервер отчетов устанавливает значение WorkingSetMaximum равным объему доступной памяти в компьютере.By default, the report server sets WorkingSetMaximum to the amount of available memory on the computer. Это значение обнаруживается при запуске службы.This value is detected when the service starts.

Этот параметр не появляется в файле конфигурации RSReportServer.config, если не добавить его вручную.This setting does not appear in the RSReportServer.config file unless you add it manually. Чтобы сервер отчетов использовал меньше памяти, можно изменить файл RSReportServer.config, добавив элемент и значение.If you want the report server to use less memory, you can modify the RSReportServer.config file and add the element and value. Диапазон допустимых значений — от 0 до максимального целого числа.Valid values range from 0 to maximum integer. Значение указывается в килобайтах.This value is expressed in kilobytes.

При достижении значения WorkingSetMaximum сервер отчетов прекращает принимать новые запросы.When the value for WorkingSetMaximum is reached, the report server does not accept new requests. Обрабатываемые в это время запросы продолжают выполняться.Requests that are currently in progress are allowed to complete. Новые запросы принимаются лишь после того, как объем использованной памяти станет меньше значения, указанного параметром WorkingSetMaximum.New requests are accepted only when memory use falls below the value specified through WorkingSetMaximum.

Если существующие запросы по-прежнему занимают дополнительную память по достижении значения WorkingSetMaximum , все домены приложений сервера отчетов будут очищены.If existing requests continue to consume additional memory after the WorkingSetMaximum value has been reached, all report server application domains will be recycled. Дополнительные сведения см. в разделе Application Domains for Report Server Applications.For more information, see Application Domains for Report Server Applications.
WorkingSetMinimumWorkingSetMinimum Нижний предел потребления ресурсов; сервер отчетов не будет освобождать память, если общее использование памяти ниже этого предела.Specifies a lower limit for resource consumption; the report server will not release memory if overall memory use is below this limit.

Его значение по умолчанию рассчитывается при запуске службы.By default, the value is calculated at service startup. В соответствии с этим расчетом, запрашиваемый объем выделенной памяти составляет 60 процентов от WorkingSetMaximum.The calculation is that the initial memory allocation request is for 60 percent of WorkingSetMaximum.

Этот параметр не появляется в файле конфигурации RSReportServer.config, если не добавить его вручную.This setting does not appear in the RSReportServer.config file unless you add it manually. Чтобы изменить это значение, необходимо добавить элемент WorkingSetMinimum в файл RSReportServer.config.If you want to customize this value, you must add the WorkingSetMinimum element to the RSReportServer.config file. Диапазон допустимых значений — от 0 до максимального целого числа.Valid values range from 0 to maximum integer. Значение указывается в килобайтах.This value is expressed in kilobytes..
MemoryThresholdMemoryThreshold Задает процент WorkingSetMaximum , определяющий границу между высоким и средним уровнями потребления памяти.Specifies a percentage of WorkingSetMaximum that defines the boundary between high and medium pressure scenarios. Если процент использования памяти достиг этого значения, сервер отчетов замедляет обработку запросов и перераспределяет память, выделенную различным серверным приложениям.If report server memory use reaches this value, the report server slows down request processing and changes the amount of memory allocated to different server applications. Значение по умолчанию равно 90.The default value is 90. Это значение должно быть больше значения параметра MemorySafetyMargin.This value should be greater than the value set for MemorySafetyMargin.
MemorySafetyMarginMemorySafetyMargin Задает процент WorkingSetMaximum , определяющий границу между средним и низким уровнями потребления памяти.Specifies a percentage of WorkingSetMaximum that defines the boundary between medium and low pressure scenarios. Это значение представляет собой процент доступной памяти, которая будет зарезервирована для системы и не сможет быть использована для работы сервера отчетов.This value is the percentage of available memory that is reserved for the system and cannot be used for report server operations. Значение по умолчанию равно 80.The default value is 80.

Примечание

ПараметрыMemoryLimit и MaximumMemoryLimit в SQL Server 2008SQL Server 2008 и более поздних версиях.MemoryLimit and MaximumMemoryLimit settings are obsolete in SQL Server 2008SQL Server 2008 and later versions. Если обновить существующую установку или использовать файл RSReportServer.config с этими значениями, то сервер отчетов не будет их считывать.If you upgraded an existing installation or using an RSReportServer.config file that includes those settings, the report server no longer reads those values.

Пример параметров конфигурации памятиExample of memory configuration settings

Следующий пример показывает параметры конфигурации для компьютера серверов отчетов, в котором используются пользовательские значения конфигурации памяти.The following example shows the configuration settings for a report server computer that uses custom memory configuration values. Чтобы добавить параметр WorkingSetMaximum или WorkingSetMinimum, необходимо вставить соответствующие элементы и значения в файл RSReportServer.config.If you want to add WorkingSetMaximum or WorkingSetMinimum, you must type the elements and values in the RSReportServer.config file. Оба значения представляют собой целые числа, указывающие объем ОЗУ в килобайтах, выделяемый для серверных приложений.Both values are integers that express kilobytes of RAM you are allocating to the server applications. В следующем примере указывается, что общая память, выделенная для приложений сервера отчетов, не может превышать 4 гигабайт.The following example specifies that total memory allocation for the report server applications cannot exceed 4 gigabytes. Если значение параметра WorkingSetMinimum по умолчанию (60 % от значения WorkingSetMaximum) приемлемо, его можно опустить и задать в файле RSReportServer.config только параметр WorkingSetMaximum .If the default value for WorkingSetMinimum (60% of WorkingSetMaximum) is acceptable, you can omit it and specify just WorkingSetMaximum in the RSReportServer.config file. Пример содержит параметр WorkingSetMinimum , чтобы показать, как выглядит этот параметр, если понадобится его добавить:This example includes WorkingSetMinimum to show how it would appear if you wanted to add it:

      Config files 
      <MemorySafetyMargin>80</MemorySafetyMargin>  
      <MemoryThreshold>90</MemoryThreshold>  
      <WorkingSetMaximum>4000000</WorkingSetMaximum>  
      <WorkingSetMinimum>2400000</WorkingSetMinimum>  

Сведения о параметрах конфигурации памяти ASP.NETAbout ASP.NET memory configuration settings

Хотя веб-служба сервера отчетов и диспетчер отчетов в версии 2016 и более поздних представляют собой приложения HTML5, а предыдущие версии являются приложениями ASP.NETASP.NET, ни одно из них не реагирует на параметры конфигурации памяти, настраиваемые в разделе processModel файла machine.config для приложений ASP.NETASP.NET, работающих в режиме совместимости с IIS версии 5.0 или более высоких версий.Although the 2016 and later Report Server Web service and web portal are HTML5 applications, previous versions are ASP.NETASP.NET applications, neither application responds to memory configuration settings that you specify in the processModel section of machine.config for ASP.NETASP.NET applications that run in IIS 5.0 and higher compatibility mode. Службы Reporting ServicesReporting Services считывают параметры конфигурации памяти только из файла RSReportServer.config.reads memory configuration settings from the RSReportServer.config file only.

См. также разделSee also

RsReportServer.config Configuration File RsReportServer.config Configuration File
Изменение файла конфигурации служб Reporting Services (RSreportserver.config)Modify a Reporting Services Configuration File (RSreportserver.config)
Домены приложений для приложений сервера отчетовApplication Domains for Report Server Applications