요청 속도 제한 정책
적용 대상: ✅Microsoft Fabric✅Azure Data Explorer
워크로드 그룹의 요청 속도 제한 정책을 사용하면 워크로드 그룹, 워크로드 그룹 또는 보안 주체별로 분류된 동시 요청 수를 제한할 수 있습니다.
속도 제한은 워크로드 그룹의 요청 속도 제한 적용 정책정의된 수준에서 적용됩니다.
정책 개체
요청 속도 제한 정책에는 다음과 같은 속성이 있습니다.
이름 | 지원되는 값 | 묘사 |
---|---|---|
IsEnabled |
true , false |
정책이 사용하도록 설정되어 있는지 여부를 나타냅니다. |
범위 |
WorkloadGroup , Principal |
제한이 적용되는 범위입니다. |
LimitKind |
ConcurrentRequests , ResourceUtilization |
요청 속도 제한의 종류입니다. |
속성 | 속성 모음 | 요청 속도 제한의 속성입니다. |
동시 요청 속도 제한
ConcurrentRequests
종류의 요청 속도 제한에는 다음 속성이 포함됩니다.
이름 | 형 | 묘사 | 지원되는 값 |
---|---|---|---|
MaxConcurrentRequests | int |
최대 동시 요청 수입니다. | [0 , 10000 ] |
메모
- 워크로드 그룹에 최대 동시 요청에 대해 지정된 제한이 없는 경우 기본 최대값인
10000
적용됩니다.
요청이 최대 동시 요청 수 제한을 초과하는 경우:
-
시스템 정보 명령제공된 요청의 상태는
Throttled
. - 오류 메시지에는 제한의 원본 초과된 용량 포함됩니다.
다음 표에서는 최대 한도를 초과하는 동시 요청의 몇 가지 예와 이러한 요청이 반환하는 오류 메시지를 보여 줍니다.
시나리오 | 오류 메시지 |
---|---|
default 워크로드 그룹으로 분류된 제한된 .create table 명령으로, 워크로드 그룹의 범위에서 동시 요청은 80개로 제한됩니다. |
제한으로 인해 관리 명령이 중단되었습니다. 일부 백오프가 성공한 후 다시 시도합니다. CommandType: 'TableCreate', 용량: 80, 원본: 'RequestRateLimitPolicy/WorkloadGroup/default'. |
MyWorkloadGroup 이라는 워크로드 그룹으로 분류된 제한된 쿼리로, 워크로드 그룹의 범위에서 동시 요청이 50개로 제한됩니다. |
제한으로 인해 쿼리가 중단되었습니다. 일부 백오프가 성공한 후 다시 시도합니다. 용량: 50, 원본: 'RequestRateLimitPolicy/WorkloadGroup/MyWorkloadGroup'. |
보안 주체의 범위에서 동시 요청이 10개로 제한되는 MyWorkloadGroup 이라는 워크로드 그룹으로 분류된 제한된 쿼리입니다. |
제한으로 인해 쿼리가 중단되었습니다. 일부 백오프가 성공한 후 다시 시도합니다. 용량: 10, 원본: 'RequestRateLimitPolicy/WorkloadGroup/MyWorkloadGroup/Principal/aaduser=9e04c4f5-1abd-48d4-a3d2-9f58615b4724; 6ccf3fe8-6343-4be5-96c3-29a128dd9570'. |
- HTTP 응답 코드는
429
. 하위 코드는TooManyRequests
. - 예외 유형은 쿼리에 대해
QueryThrottledException
관리 명령에 대한ControlCommandThrottledException
.
메모
리소스 사용률 제한
ResourceUtilization
종류의 요청 속도 제한에는 다음 속성이 포함됩니다.
이름 | 형 | 묘사 | 지원되는 값 |
---|---|---|---|
ResourceKind | ResourceKind |
제한할 리소스입니다.ResourceKind TotalCpuSeconds 경우 완료된 요청의 CPU 사용률에 대한 실행 후 보고서에 따라 제한이 적용됩니다. 0.005초 이하의 CPU 사용률을 보고하는 요청은 계산되지 않습니다. 제한(MaxUtilization )은 지정된 기간(TimeWindow ) 내에서 요청에 의해 사용될 수 있는 총 CPU 초를 나타냅니다. 예를 들어 임시 쿼리를 실행하는 사용자는 시간당 1000 CPU 초로 제한될 수 있습니다. 이 제한을 초과하면 누적 CPU 초가 슬라이딩 윈도우 기간 내에 정의된 제한을 초과했으므로 동시에 시작된 경우에도 후속 쿼리가 제한됩니다. |
RequestCount , TotalCpuSeconds |
MaxUtilization | long |
활용할 수 있는 리소스의 최대값입니다. | RequestCount: [1 , 16777215 ]; TotalCpuSeconds: [1 , 828000 ] |
TimeWindow | timespan |
제한이 적용되는 슬라이딩 타임 창입니다. | [00:01:00 , 1.00:00:00 ] |
요청이 리소스 사용률 제한을 초과하는 경우:
-
시스템 정보 명령제공된 요청의 상태는
Throttled
. - 오류 메시지에는 제한의 원본 초과된 할당량 포함됩니다. 예를 들어:
다음 표에서는 리소스 사용률 제한을 초과하는 요청의 몇 가지 예와 이러한 요청이 반환하는 오류 메시지를 보여 줍니다.
시나리오 | 오류 메시지 |
---|---|
보안 주체의 범위에서 시간당 1,000개 요청으로 제한되는 Automated Requests 이라는 워크로드 그룹으로 분류된 제한된 요청입니다. |
할당량 제한을 초과하여 요청이 거부되었습니다. 리소스: 'RequestCount', 할당량: '1000', TimeWindow: '01:00:00', 원본: 'RequestRateLimitPolicy/WorkloadGroup/자동화된 요청/Principal/aadapp=9e04c4f5-1abd-48d4-a3d2-9f58615b4724; 6ccf3fe8-6343-4be5-96c3-29a128dd9570'. |
Automated Requests 이라는 워크로드 그룹으로 분류된 제한된 요청으로, 워크로드 그룹의 범위에서 시간당 총 CPU 초 수는 2,000초로 제한됩니다. |
할당량 제한을 초과하여 요청이 거부되었습니다. 리소스: 'TotalCpuSeconds', 할당량: '2000', TimeWindow: '01:00:00', 원본: 'RequestRateLimitPolicy/WorkloadGroup/자동화된 요청'. |
- HTTP 응답 코드는
429
. 하위 코드는TooManyRequests
. - 예외 형식은
QuotaExceededException
.
일관성이 속도 제한에 미치는 영향
강력한 일관성을 통해 최대 동시 요청에 대한 기본 제한은 클러스터의 SKU에 따라 달라지고 다음과 같이 계산됩니다. Cores-Per-Node x 10
. 예를 들어 각 노드에 16개의 vCore가 있는 Azure D14_v2 노드로 설정된 클러스터의 기본 제한은 16
x 10
= 160
.
일관성이 약하면 최대 동시 요청에 대한 유효 기본 제한은 클러스터의 SKU 및 쿼리 헤드 수에 따라 달라지고 다음과 같이 계산됩니다. Cores-Per-Node x 10 x Number-Of-Query-Heads
. 예를 들어 각 노드에 16개의 vCore가 있는 Azure D14_v2 및 5개의 쿼리 헤드로 설정된 클러스터에는 유효한 기본 제한인 16
x 10
x 5
= 800
있습니다.
강력한 일관성을 통해 최대 동시 요청에 대한 기본 제한은 eventhouse의 SKU에 따라 달라지고 다음과 같이 계산됩니다. Cores-Per-Node x 10
. 예를 들어 각 노드에 16개의 vCore가 있는 Azure D14_v2 노드로 설정된 eventhouse의 기본 제한은 16
x 10
= 160
.
일관성이 약하면 최대 동시 요청에 대한 유효 기본 제한은 eventhouse의 SKU 및 쿼리 헤드 수에 따라 달라지고 다음과 같이 계산됩니다. Cores-Per-Node x 10 x Number-Of-Query-Heads
. 예를 들어 각 노드에 16개의 vCore가 있는 Azure D14_v2 및 5개의 쿼리 헤드로 설정된 eventhouse에는 유효한 기본 제한인 16
x 10
x 5
= 800
있습니다.
자세한 내용은 쿼리 일관성참조하세요.
default
워크로드 그룹
default
워크로드 그룹에는 기본적으로 정의된 다음 정책이 있습니다. 이 정책은 변경할 수 있습니다.
[
{
"IsEnabled": true,
"Scope": "WorkloadGroup",
"LimitKind": "ConcurrentRequests",
"Properties": {
"MaxConcurrentRequests": < Cores-Per-Node x 10 >
}
}
]
메모
-
default
워크로드 그룹에 대한 정책을 변경하는 경우 최대 동시 요청에 대한 제한을 정의해야 합니다.
예제
다음 정책은 다음을 허용합니다.
- 워크로드 그룹에 대한 동시 요청 500개.
- 보안 주체당 동시 요청 25개.
- 시간당 보안 주체당 요청 50개.
[
{
"IsEnabled": true,
"Scope": "WorkloadGroup",
"LimitKind": "ConcurrentRequests",
"Properties": {
"MaxConcurrentRequests": 500
}
},
{
"IsEnabled": true,
"Scope": "Principal",
"LimitKind": "ConcurrentRequests",
"Properties": {
"MaxConcurrentRequests": 25
}
},
{
"IsEnabled": true,
"Scope": "Principal",
"LimitKind": "ResourceUtilization",
"Properties": {
"ResourceKind": "RequestCount",
"MaxUtilization": 50,
"TimeWindow": "01:00:00"
}
}
]
다음 정책은 워크로드 그룹으로 분류된 모든 요청을 차단합니다.
[
{
"IsEnabled": true,
"Scope": "WorkloadGroup",
"LimitKind": "ConcurrentRequests",
"Properties": {
"MaxConcurrentRequests": 0
}
},
]
관련 콘텐츠
- 워크로드 그룹
- 요청 속도 제한 적용 정책
- .alter-merge workload_group 명령
- .create-or-alter workload_group 명령
- .drop workload_group 명령
- .show workload_group 명령