보고서 서버 응용 프로그램을 위한 사용 가능한 메모리 구성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 topic 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:

  • 보고서 관리자 - 보고서 서버용 웹 프런트 엔드 응용 프로그램입니다.Report Manager, 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, MemorySafetyMarginMemoryThreshold가 포함됩니다.Configuration settings that control memory allocation for the report server include WorkingSetMaximum, WorkingSetMinimum, MemorySafetyMargin, and MemoryThreshold.

  • WorkingSetMaximumWorkingSetMinimum 은 사용 가능한 메모리의 범위를 정의합니다.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.

  • MemorySafetyMarginMemoryThreshold 는 메모리 가중의 낮음, 보통 및 높음 수준에 대한 경계를 설정합니다.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, MemorySafetyMarginMemoryThreshold 설정을 설명합니다.The following table describes WorkingSetMaximum, WorkingSetMinimum, MemorySafetyMargin, and MemoryThreshold settings. 구성 설정은 RSReportServer 구성 파일에 지정되어 있습니다.Configuration settings are specified in the RSReportServer.config file.

요소Element DescriptionDescription
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. 이 값은 KB로 표시됩니다.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. 계산 시 초기 메모리 할당 요청은 WorkingSetMaximum의 60%입니다.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. 이 값을 사용자 지정하려는 경우 RSReportServer.config 파일에 WorkingSetMinimum 요소를 추가해야 합니다.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. 이 값은 KB로 표시됩니다.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.

참고

MemoryLimitMaximumMemoryLimit 설정은 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. 두 값 모두 서버 응용 프로그램에 할당하는 RAM을 KB로 표시하는 정수입니다.Both values are integers that express kilobytes of RAM you are allocating to the server applications. 다음 예에서는 보고서 서버 응용 프로그램에 대한 총 메모리 할당이 4GB를 초과할 수 없음을 지정합니다.The following example specifies that total memory allocation for the report server applications cannot exceed 4 gigabytes. WorkingSetMinimum ( WorkingSetMaximum의 60%)에 대한 기본값이 허용되는 경우 생략하고 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:

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

ASP.NET 메모리 구성 설정 정보About ASP.NET Memory Configuration Settings

보고서 서버 웹 서비스와 보고서 관리자는 ASP.NETASP.NET 응용 프로그램이지만 이 중 어떤 응용 프로그램도 IIS 5.0 호환성 모드에서 실행되는 응용 프로그램에 대한 machine.config의 processModel ASP.NETASP.NET 섹션에 지정하는 메모리 구성 설정에 응답하지 않습니다.Although the Report Server Web service and Report Manager 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 compatibility mode. Reporting ServicesReporting Services 는 RSReportServer.config 파일에서만 메모리 구성 설정을 읽습니다. reads memory configuration settings from the RSReportServer.config file only.

관련 항목:See Also

RsReportServer.config 구성 파일 RsReportServer.config Configuration File
RSReportServer 구성 파일 RsReportServer.config Configuration File
Reporting Services 구성 파일 수정(RSreportserver.config) Modify a Reporting Services Configuration File (RSreportserver.config)
보고서 서버 응용 프로그램을 위한 응용 프로그램 도메인Application Domains for Report Server Applications