다음을 통해 공유


요청 속도 제한 정책

적용 대상: ✅Microsoft FabricAzure 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 제한할 리소스입니다.

ResourceKindTotalCpuSeconds경우 완료된 요청의 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
    }
  },
]