리소스 관리자Resource Governor

SQL ServerSQL Server 리소스 관리자는 SQL ServerSQL Server 작업 및 시스템 리소스 소비량을 관리하는 데 사용할 수 있는 기능입니다. workload and system resource consumption. 리소스 관리자를 사용하면 들어오는 응용 프로그램 요청이 사용할 수 있는 CPU, 물리적 IO 및 메모리 양을 제한할 수 있습니다.Resource Governor enables you to specify limits on the amount of CPU, physical IO, and memory that incoming application requests can use.

리소스 관리자의 이점Benefits of Resource Governor

리소스 관리자를 사용하여 리소스 소비량에 대한 제한을 들어오는 요청별로 지정하여 SQL ServerSQL Server 작업과 리소스를 관리할 수 있습니다.Resource Governor enables you to manage SQL ServerSQL Server workloads and resources by specifying limits on resource consumption by incoming requests. 리소스 관리자 컨텍스트에서 작업이란 단일 엔터티로 취급해야 하거나 취급할 수 있는 비슷한 크기의 쿼리 또는 요청 집합입니다.In the Resource Governor context, workload is a set of similarly sized queries or requests that can, and should be, treated as a single entity. 반드시 그래야 하는 것은 아니지만 작업의 리소스 사용 패턴이 균일할수록 리소스 관리자를 통해 얻을 수 있는 이점이 많아집니다.This is not a requirement, but the more uniform the resource usage pattern of a workload is, the more benefit you are likely to derive from Resource Governor. 리소스 제한은 실행 중인 작업에 미치는 영향을 최소화하면서 실시간으로 다시 구성할 수 있습니다.Resource limits can be reconfigured in real time with minimal impact on workloads that are executing.

같은 서버에 고유 작업이 여러 개 있는 환경에서 리소스 관리자를 사용하면 이러한 여러 작업을 구별할 수 있으며 지정한 제한에 따라 요청된 공유 리소스를 할당할 수 있습니다.In an environment where multiple distinct workloads are present on the same server, Resource Governor enables you to differentiate these workloads and allocate shared resources as they are requested, based on the limits that you specify. CPU, 물리적 IO 및 메모리가 이러한 리소스에 해당합니다.These resources are CPU, physical IO, and memory.

리소스 관리자를 사용하면 다음을 수행할 수 있습니다.By using Resource Governor, you can:

  • 여러 클라이언트 작업을 처리하는 단일 SQL Server 인스턴스에서 다중 테넌트 지원 및 리소스 격리를 제공합니다.Provide multitenancy and resource isolation on single instances of SQL Server that serve multiple client workloads. 즉, 서버의 사용 가능한 리소스를 여러 작업으로 분산하여 작업 간 리소스 경합이 발생할 때 야기되는 문제를 최소화할 수 있습니다.That is, you can divide the available resources on a server among the workloads and minimize the problems that can occur when workloads compete for resources.

  • 다중 작업 및 다중 사용자 환경에서 작업 테넌트에 대한 예측 가능한 성능 및 지원 SLA를 제공합니다.Provide predictable performance and support SLAs for workload tenants in a multi-workload and multi-user environment.

  • IO 하위 시스템을 포화 상태로 만들어 다른 작업의 성능을 저하시킬 수 있는 DBCC CHECKDB 등의 작업에 대해 IO 리소스를 제한하거나 런어웨이 쿼리를 격리 및 제한합니다.Isolate and limit runaway queries or throttle IO resources for operations such as DBCC CHECKDB that can saturate the IO subsystem and negatively impact other workloads.

  • 리소스 사용 비용 환불을 위한 세분화된 리소스 추적 기능을 추가하고 서버 리소스 소비자에게 예측 가능한 요금 청구 기능을 제공합니다.Add fine-grained resource tracking for resource usage chargebacks and provide predictable billing to the consumers of the server resources.

리소스 관리자 제약 사항Resource Governor Constraints

이 리소스 관리자 릴리스의 제약 사항은 다음과 같습니다.This release of Resource Governor has the following constraints:

  • 리소스 관리가 SQL Server 데이터베이스 엔진SQL Server Database Engine으로 제한되며Resource management is limited to the SQL Server 데이터베이스 엔진SQL Server Database Engine. 리소스 관리자를 Analysis ServicesAnalysis Services, Integration ServicesIntegration ServicesReporting ServicesReporting Services에 사용할 수 없습니다.Resource Governor can not be used for Analysis ServicesAnalysis Services, Integration ServicesIntegration Services, and Reporting ServicesReporting Services.

  • SQL Server 인스턴스 간 작업 모니터링 또는 작업 관리가 없습니다.There is no workload monitoring or workload management between SQL Server instances.

  • 리소스 관리자는 OLTP 작업을 관리할 수는 있지만 이러한 유형의 쿼리는 일반적으로 지속 시간이 매우 짧으므로 대역폭 제어를 적용할 수 있을 정도로 오래 CPU에 항상 상주하지 않습니다.Resource Governor can manage OLTP workloads but these types of queries, which are typically very short in duration, are not always on the CPU long enough to apply bandwidth controls. 이로 인해 CPU 사용량(%)으로 반환되는 통계가 왜곡될 수 있습니다.This may skew in the statistics returned for CPU usage %.

  • 물리적 IO 관리 기능은 사용자 작업에만 적용되고 시스템 태스크에는 적용되지 않습니다.The ability to govern physical IO only applies to user operations and not system tasks. 시스템 태스크에는 트랜잭션 로그에 대한 쓰기 작업 및 지연 기록기 IO 작업이 포함됩니다.System tasks include write operations to the transaction log and Lazy Writer IO operations. 대부분의 쓰기 작업은 일반적으로 시스템 태스크에 의해 수행되므로 리소스 관리자는 주로 사용자 읽기 작업에 적용됩니다.The Resource Govenor applies primarily to user read operations because most write operations are typically performed by system tasks.

  • 내부 리소스 풀에 대해서는 IO 임계값을 설정할 수 없습니다.You cannot set IO thresholds on the internal resource pool.

리소스 개념Resource Concepts

다음은 리소스 관리자를 이해하고 사용하기 위한 세 가지 기본 개념입니다.The following three concepts are fundamental to understanding and using Resource Governor:

  • 리소스 풀Resource pools. 리소스 풀은 서버의 물리적 리소스를 나타냅니다.A resource pool, represents the physical resources of the server. 풀은 SQL ServerSQL Server 인스턴스 내부의 가상 SQL ServerSQL Server 인스턴트로 간주할 수 있습니다.You can think of a pool as a virtual SQL ServerSQL Server instance inside of a SQL ServerSQL Server instance. SQL ServerSQL Server 를 설치하면 두 개의 리소스 풀(내부 및 기본)이 만들어집니다.Two resource pools (internal and default) are created when SQL ServerSQL Server is installed. 또한 리소스 관리자는 사용자 정의 리소스 풀을 지원합니다.Resource Governor also supports user-defined resource pools. 자세한 내용은 Resource Governor Resource Pool을(를) 참조하세요.For more information, see Resource Governor Resource Pool.

  • 작업 그룹Workload groups. 작업 그룹은 분류 기준이 유사한 세션 요청에 대한 컨테이너의 역할을 합니다.A workload group serves as a container for session requests that have similar classification criteria. 작업 그룹을 사용하면 세션의 집계 모니터링이 가능하며 작업 그룹으로 세션의 정책을 정의할 수 있습니다.A workload allows for aggregate monitoring of the sessions, and defines policies for the sessions. 각 작업 그룹은 리소스 풀에 있습니다.Each workload group is in a resource pool. SQL ServerSQL Server 를 설치하면 두 개의 작업 그룹(내부 및 기본)이 만들어지고 해당 리소스 풀에 매핑됩니다.Two workload groups (internal and default) are created and mapped to their corresponding resource pools when SQL ServerSQL Server is installed. 또한 리소스 관리자는 사용자 정의 작업 그룹을 지원합니다.Resource Governor also supports user-defined workload groups. 자세한 내용은 Resource Governor Workload Group를 참조하세요.For more information see, Resource Governor Workload Group.

  • 분류Classification. 분류 프로세스는 세션 특징에 기초하여 들어오는 세션을 작업 그룹에 할당합니다.The Classification process assigns incoming sessions to a workload group based on the characteristics of the session. 분류자 함수라고 하는 사용자 정의 함수를 작성하여 원하는 분류 논리를 지정할 수 있습니다.You can tailor the classification logic by writing a user-defined function, called a classifier function. 또한 리소스 관리자는 분류 규칙을 구현하는 분류자 사용자 정의 함수를 지원합니다.Resource Governor also supports a classifier user-defined function for implementing classification rules. 자세한 내용은 Resource Governor Classifier Function을(를) 참조하세요.For more information, see Resource Governor Classifier Function.

참고

리소스 관리자는 DAC(관리자 전용 연결)를 제어하지 않습니다.Resource Governor does not impose any controls on a dedicated administrator connection (DAC). 내부 작업 그룹과 리소스 풀에서 실행되는 DAC 쿼리는 분류할 필요가 없습니다.There is no need to classify DAC queries, which run in the internal workload group and resource pool.

리소스 관리자의 컨텍스트에서는 위의 개념이 구성 요소로 간주될 수 있습니다.In the context of Resource Governor, you can treat the preceding concepts as components. 다음 그림에서는 이러한 구성 요소와 이러한 구성 요소가 데이터베이스 엔진 환경에 있을 때 서로 어떤 관계가 있는지를 보여 줍니다.The following illustration shows these components and their relationship with each other as they exist in the database engine environment. 처리 측면에서 이 흐름은 다음과 같이 요약할 수 있습니다.From a processing perspective, the simplified flow is as follows:

  • 세션에 대한 들어오는 연결(세션 1/ n)이 있습니다.There is an incoming connection for a session (Session 1 of n).

  • 세션이 분류됩니다(분류).The session is classified (Classification).

  • 세션 작업이 작업 그룹(예: 그룹 4)으로 라우팅됩니다.The session workload is routed to a workload group, for example, Group 4.

  • 작업 그룹이 관련 리소스 풀(예: 풀 2)을 사용합니다.The workload group uses the resource pool it is associated with, for example, Pool 2.

  • 리소스 풀이 응용 프로그램(예: 응용 프로그램 3)에 필요한 리소스를 제공하고 제한합니다.The resource pool provides and limits the resources required by the application, for example, Application 3.

    리소스 관리자 기능 구성 요소Resource Governor Functional Components

리소스 관리자 태스크Resource Governor Tasks

태스크 설명Task Description 항목Topic
리소스 관리자를 사용하도록 설정하는 방법에 대해 설명합니다.Describes how to enable Resource Governor. 리소스 관리자 사용Enable Resource Governor
리소스 관리자를 사용하지 않도록 설정하는 방법에 대해 설명합니다.Describes how to disable Resource Governor. 리소스 관리자 사용 안 함Disable Resource Governor
리소스 풀의 생성, 수정 및 삭제 방법에 대해 설명합니다.Describes how to create, alter, and drop a resource pool. 리소스 관리자 리소스 풀Resource Governor Resource Pool
작업 그룹의 생성, 수정, 이동 및 삭제 방법에 대해 설명합니다.Describes how to create, alter, move, and drop a workload group. 리소스 관리자 작업 그룹Resource Governor Workload Group
분류자 사용자 정의 함수를 만들고 테스트하는 방법에 대해 설명합니다.Describes how to create and test a classifier user-defined function. 리소스 관리자 분류자 함수Resource Governor Classifier Function
템플릿을 사용하여 리소스 관리자를 구성하는 방법에 대해 설명합니다.Describes how to configure Resource Governor using a template. 템플릿을 사용하여 리소스 관리자 구성Configure Resource Governor Using a Template
리소스 관리자의 속성을 보는 방법에 대해 설명합니다.Describes how to view Resource Governor properties. 리소스 관리자 속성 보기View Resource Governor Properties

관련 항목:See Also

데이터베이스 엔진 인스턴스(SQL Server)Database Engine Instances (SQL Server)