리소스 관리자 리소스 풀
SQL Server 리소스 관리자에서 리소스 풀은 데이터베이스 엔진 인스턴스의 물리적 리소스의 하위 집합을 나타냅니다. 각 리소스 풀에는 하나 이상의 작업 그룹이 포함될 수 있습니다. 세션이 시작되면 리소스 관리자 분류자가 세션을 특정 작업 그룹에 할당하고 세션은 작업 그룹에 할당된 리소스를 사용하여 실행해야 합니다.
리소스 풀 개념
리소스 풀 또는 풀은 서버의 물리적 리소스를 나타냅니다. 풀은 SQL Server 인스턴스 내부의 가상 SQL Server 인스턴트로 간주할 수 있습니다.
풀은 두 부분으로 구성되어 있는데, 최소 리소스 예약을 사용하는 한 부분은 다른 풀과 겹치지 않고 가능한 최대 리소스 소비를 지원하는 다른 한 부분은 다른 풀과 공유됩니다. 이 릴리스의 리소스 관리자에서는 풀 리소스가 각 리소스에 대해 다음 중 하나를 지정하여 설정됩니다.
CPU에 대해 MIN, MAX 또는 CAP
메모리에 대해 MIN 또는 MAX
MIN과 MAX는 이러한 각 리소스에 대해 각각 풀의 최소 보장 리소스 가용성과 풀의 최대 크기를 나타냅니다.
CPU에 사용할 수 있는 최대값을 나타내는 CAP 값입니다. 이 값을 초과하는 사용 가능한 CPU 용량은 사용되지 않습니다.
모든 풀의 MIN 값의 합은 서버 리소스의 100%를 초과할 수 없습니다. MAX 값과 CAP 값은 MIN과 100%(포함) 사이의 임의 값으로 설정할 수 있습니다.
풀에 0이 아닌 MIN이 정의되어 있으면 다른 풀의 유효한 MAX 값이 다시 조정됩니다. 다른 풀의 MIN 값 합계와 풀의 구성된 MAX 값의 최소값을 100%에서 뺍니다.
다음 표에서는 위의 개념에 대해 설명하고 내부 풀, 기본 풀 및 사용자 정의 풀 두 개에 대한 설정을 보여 줍니다. 다음 공식은 유효한 MAX % 및 공유 %를 계산하는 데 사용됩니다.
Min(X,Y)은 X와 Y 중에서 더 작은 값을 의미합니다.
Sum(X)은 모든 풀에서 X 값의 합계를 의미합니다.
총 공유 % = 100 - sum(MIN %)
유효한 MAX % = min(X,Y)
공유 % = 유효한 MAX % - MIN %
풀 이름 |
MIN % 설정 |
MAX % 설정 |
계산된 유효한 MAX % |
계산된 공유 % |
설명 |
---|---|---|---|---|---|
내부 |
0 |
100 |
100 |
0 |
유효한 MAX % 및 공유 %는 내부 풀에 적용할 수 없습니다. |
기본 |
0 |
100 |
30 |
30 |
유효한 MAX 값은 다음과 같이 계산됩니다. min(100,100-(20+50)) = 30. 계산된 공유 백분율(%)은 유효 MAX - MIN = 30입니다. |
풀 1 |
20 |
100 |
50 |
30 |
유효한 MAX 값은 다음과 같이 계산됩니다. min(100,100-50) = 50. 계산된 공유 백분율(%)은 유효 MAX - MIN = 30입니다. |
풀 2 |
50 |
70 |
70 |
20 |
유효한 MAX 값은 다음과 같이 계산됩니다. min(70,100-20) = 70. 계산된 공유 백분율(%)은 유효 MAX - MIN = 20입니다. |
위의 표를 계속 사용하여 다른 풀이 만들어질 때 수행되는 조정 작업을 보다 자세히 설명할 수 있습니다. 이 풀은 풀 3이며 MIN %가 5로 설정되어 있습니다.
풀 이름 |
MIN % 설정 |
MAX % 설정 |
계산된 유효한 MAX % |
계산된 공유 % |
설명 |
---|---|---|---|---|---|
내부 |
0 |
100 |
100 |
0 |
유효 MAX % 및 공유 %는 내부 풀에 적용할 수 없습니다. |
기본값 |
0 |
100 |
25 |
25 |
유효한 MAX 값은 다음과 같이 계산됩니다. min(100,100-(20+50+5)) = 25. 계산된 공유 백분율(%)은 유효 MAX - MIN = 25입니다. |
풀 1 |
20 |
100 |
45 |
25 |
유효한 MAX 값은 다음과 같이 계산됩니다. min(100,100-55) = 45. 계산된 공유 백분율(%)은 유효 MAX - MIN = 25입니다. |
풀 2 |
50 |
70 |
70 |
20 |
유효한 MAX 값은 다음과 같이 계산됩니다. min(70,100-25) = 70. 계산된 공유 백분율(%)은 유효 MAX - MIN = 20입니다. |
풀 3 |
5 |
100 |
30 |
25 |
유효한 MAX 값은 다음과 같이 계산됩니다. min(100,100-70) = 30. 계산된 공유 백분율(%)은 유효 MAX - MIN = 25입니다. |
풀의 공유 부분은 리소스가 사용 가능한 경우 사용 가능한 리소스가 이동할 수 있는 위치를 나타내는 데 사용됩니다. 그러나 사용된 리소스는 지정된 풀로 이동하지만 공유되지는 않습니다. 따라서 지정된 풀에 요청이 없고 이 풀에 구성된 리소스를 다른 풀에 사용할 수 있는 경우 리소스 활용도가 높아질 수 있습니다.
다음은 몇 가지 극단적인 풀 구성 사례입니다.
모든 풀은 서버 리소스의 100%를 나타내는 최소값을 정의합니다. 이 경우 유효한 최대값은 최소값과 같습니다. 이것은 지정된 풀 내부에서 리소스가 소비되는지 여부에 관계없이 서버 리소스를 겹치지 않는 부분으로 분할하는 것과 같습니다.
모든 풀은 최소값으로 0을 갖습니다. 모든 풀은 사용 가능한 리소스를 서로 차지하기 위해 경쟁하며 최종 크기가 각 풀의 리소스 소비에 따라 결정됩니다. 정책과 같은 다른 요소는 최종 풀 크기를 구체화하는 데 사용됩니다.
리소스 관리자는 두 개의 리소스 풀, 내부 풀과 기본 풀을 미리 정의합니다.
내부 풀
내부 풀은 SQL Server 자체에서 소비한 리소스를 나타냅니다. 이 풀은 항상 내부 그룹만 포함하며 어떤 식으로든 변경할 수 없습니다. 내부 풀에서는 리소스를 제한 없이 소비할 수 있습니다. 풀의 모든 작업은 서버가 작동하는 데 있어서 중요한 것으로 간주되며, 리소스 관리자를 사용하면 다른 풀에 설정된 제한을 위반하더라도 다른 풀의 리소스를 내부 풀에 사용할 수 있습니다.
[!참고]
내부 풀 및 내부 그룹 리소스 사용량은 전체 리소스 사용량에서 차감되지 않습니다. 백분율은 사용 가능한 전체 리소스를 기준으로 계산됩니다.
기본 풀
기본 풀은 미리 정의된 첫 번째 사용자 풀입니다. 구성에 관계없이 기본 풀은 기본 그룹만 포함합니다. 기본 풀은 만들거나 삭제할 수는 없지만 변경할 수는 있습니다. 기본 풀은 기본 그룹 외에 사용자 정의 그룹을 포함할 수 있습니다.
[!참고]
기본 그룹은 변경할 수는 있지만 기본 풀 밖으로 이동할 수는 없습니다.
사용자 정의 리소스 풀
리소스 관리자는 리소스 풀을 생성, 변경 및 삭제하는 DDL 문을 제공합니다.
리소스 풀 태스크
태스크 설명 |
항목 |
---|---|
리소스 풀을 만드는 방법에 대해 설명합니다. |
|
리소스 풀 설정을 변경하는 방법에 대해 설명합니다. |
|
리소스 풀을 삭제하는 방법에 대해 설명합니다. |