스로틀링은 작업이 용량 SKU가 허용하는 것보다 더 많은 용량 단위(CU) 초를 소모할 때 발생합니다. 용량 단위는 각 SKU에 사용 가능한 컴퓨팅 파워를 측정합니다. 스로틀링이 너무 많을 경우 최종 사용자 환경이 저하될 수 있습니다. Microsoft Fabric 테넌트는 여러 용량을 만들고 청구 및 크기 조정을 위해 특정 용량에 작업 영역을 할당할 수 있습니다.
Fabric은 용량 수준에서 스로틀링을 적용합니다. 한 용량이나 작업 공간 집합은 과부하로 성능 저하를 경험할 수 있지만, 다른 용량은 정상적으로 계속 작동할 수 있습니다. 한 용량이 OneLake 항목과 같은 기능을 생성하고 다른 용량이 이를 소모할 때, 소비 용량의 제한 상태가 해당 항목에 대한 호출을 제한하는지 결정합니다.
Fabric이 성능과 신뢰성의 균형을 맞추는 방법
Fabric은 고객에게 빠른 성능을 제공합니다. 다른 플랫폼에서 완료하는 데 몇 분 정도 걸릴 수 있는 작업은 Fabric에서 단 몇 초 만에 완료될 수 있습니다. 대규모 작업은 Fabric이 작업 속도를 늦추지 않으면서 해당 작업에 필요한 컴퓨팅 리소스를 더 긴 시간에 걸쳐 분산하기 때문에, 세심한 일정 조정 없이도 하루 중 언제든 실행할 수 있습니다. Fabric은 내장된 버스팅과 스무딩 기능을 통해 이러한 동작을 가능하게 합니다. 이러한 기능들은 일시적인 사용량 급증으로 인해 다른 시스템이 고장하거나 느려질 수 있을 때, 용량이 스스로 관리되고 스스로 치유될 수 있게 해줍니다.
버스팅: SKU가 제공하는 용량보다 더 많은 컴퓨트를 사용하세요
빠른 성능을 보장하기 위해 Fabric은 버스팅을 사용하여 가능한 한 빠르게 작업을 수행합니다. 버스팅을 사용하면 운영이 용량 SKU에 대해 프로비저닝된 계산량보다 일시적으로 더 많은 컴퓨트를 사용할 수 있습니다. 터지기 때문에 기다리지 않고도 결과를 얻을 수 있습니다. 더 작은 용량도 버스팅을 사용해 일반적으로 더 비싼 용량이 필요한 더 큰 작업을 실행할 수 있습니다.
스무딩: CU 사용을 미래 시점에 분산 배치합니다
버스팅으로 작업이 이점을 얻는 경우 사용자에게 불이익을 주지 않기 위해 Fabric은 더 긴 기간에 걸쳐 작업의 CU 사용량을 평활화하거나 평균을 냅니다. 이 동작 덕분에 스로틀링 없이 꾸준히 빠른 성능을 즐길 수 있습니다.
스무딩은 소비된 CU 사용량을 향후 시점에 분산합니다. 패브릭의 시간 포인트 길이는 30초입니다. 다음 24시간은 2,880개의 시점으로 구성되어 있습니다. Fabric은 각 시점에서 소비되는 CU 양을 자동으로 관리합니다.
작업의 활용 유형은 Fabric이 평활화에 사용하는 시간점의 수를 결정합니다. 패브릭 작업에 대해 알아봅니다.
- Fabric은 상호 작용 작업이 소비하는 CU 사용량에 따라 최소 5분에서 최대 64분까지 해당 작업의 부하를 평준화합니다.
- Fabric은 보통 긴 런타임과 큰 CU 소모를 가지기 때문에 24시간 동안 백그라운드 작업을 부드럽게 처리합니다.
다듬기 때문에 작업에 대한 CU 사용량의 일부만 개별 타임포인트에 적용되어 전체 제한을 줄입니다. 작업이 실행될 때 부드러운 CU 사용량이 누적됩니다. 미래 용량은 미래 시점에 사용 가능한 CU로, 용량이 연속적으로 작동하기 때문에 평탄화된 사용량에 대해 보상합니다.
버스팅과 스무딩은 함께 작동해 작업을 더 쉽게 할 수 있도록 도와줍니다. 예를 들어, 보통 업무를 일정에 맞추고 하루 종일 분산시키는 데 시간을 쓰게 됩니다. 스무딩을 통해 Fabric은 백그라운드 작업의 컴퓨팅 비용을 24시간 동안 분산시킵니다. 그 결과, 예약된 작업은 작업 시작을 막을 수 있는 부하 급증을 일으키지 않고 모두 동시에 실행될 수 있습니다. 동시에, 느린 작업이 완료되기를 기다리거나 업무 일정을 관리하는 데 시간을 낭비하지 않고도 꾸준히 빠른 성과를 누릴 수 있습니다.
참고
용량 관리자가 Spark에 대해 자동 크기 조정 청구를 사용하도록 설정하면 Fabric은 버스팅 및 스무딩을 지원하지 않습니다. 이 경우 Spark 사용은 사용량 지불 방식이며, 버스팅과 스무딩의 개념은 적용되지 않습니다.
스로틀 트리거 및 스로틀 단계
너무 많은 작업을 실행함으로써 수용량에 과부하가 걸릴 수 있습니다. 이는 비록 수용량에 사용량 급증의 영향을 줄이는 기본 제공 스무딩이 있을지라도 발생할 수 있습니다.
용량이 과부하되면 자동으로 새로운 작업을 제한합니다. 제한은 데이터 새로 고침과 같은 중요한 작업에 미치는 영향을 최소화하기 위해 점진적인 단계에서 발생합니다.
용량이 100% 사용률을 넘어서 작동하더라도, Fabric은 즉시 조정 제한을 적용하지 않습니다. 대신 용량에서는 초과 사용 보호를 제공하므로 스로틀링 없이 향후 용량을 최대 10분까지 사용할 수 있습니다. 이러한 동작은 서지로부터 제한된 내장 보호를 제공하면서도 사용자에게 끊김 없이 일관되고 빠른 성능을 제공합니다.
용량이 다음 10분 동안 모든 CU 리소스를 소진할 때 제한 프로세스가 시작됩니다. 1단계 스로틀링은 새로운 인터랙티브 연산에 20초 지연을 적용합니다. 두 번째 스로틀링 단계에서는 용량이 향후 1시간 동안 사용할 모든 CU 리소스를 모두 소진한 경우, 새로운 대화형 작업을 거부합니다. 이 단계에서 백그라운드 작업이 시작되고 실행될 수 있습니다. 세 번째 단계의 스로틀링은 용량이 향후 24시간 동안 사용 가능한 CU 자원을 모두 소진하면 모든 새로운 요청, 인터랙티브 및 백그라운드 요청을 거부합니다. 용량은 소비된 CU를 갚을 때까지 요청을 계속 제한합니다.
참고
Microsoft는 고객의 용량 사용량을 관리해야 하는 필요성의 균형을 유지하면서 서비스 사용에 대한 고객의 유연성을 개선하기 위해 노력합니다. 이러한 이유로 Microsoft는 패브릭 제한 정책을 변경하거나 업데이트할 수 있습니다.
다음 표는 스로틀링 트리거와 단계를 요약합니다.
| 사용 | 정책 제한 | 경험 영향 |
|---|---|---|
| 사용량 <= 10분 | 초과분 보호 | 작업은 제한 없이 10분의 향후 용량 사용분을 사용할 수 있습니다. |
| 10분 < 사용량 <= 60분 | 대화형 지연 | Fabric은 사용자가 요청한 인터랙티브 작업을 제출 시 20초 지연시킵니다. |
| 60분 < 사용량 <= 24시간 | 대화형 거부 | Fabric은 사용자가 요청한 인터랙티브 작업을 거부합니다. |
| 사용량 > 24시간 | 배경 거부 | Fabric은 모든 요청을 거부합니다. |
예시: 백그라운드 작업에서 스무딩이 스로틀링을 줄이는 방법
다음은 1 CU 시간(CU hour)을 사용한 한 백그라운드 작업에 대해 평활화가 어떻게 작동하는지 보여 주는 예입니다(사용량은 1시간 동안 1 CU를 사용한 것과 같았습니다). Fabric은 24시간 동안 백그라운드 작업을 원활하게 처리합니다. 백그라운드 작업의 각 시점에서의 기여도는 해당 작업의 CU 시간을 평활화 기간 동안의 SKU CU 시간으로 나눈 값입니다. F2는 하루 2 CU, 즉 48 CU를 제공합니다(2 CU에 24시간을 곱한 값). 이 작업은 각 시점에 1 CU 시간 / 48 CU 시간 = ~2.1%을 기여합니다. 10분 및 60분 스로틀링 제한에 미치는 영향도 ~2.1%입니다.
다음은 예제를 지원하는 세부 정보입니다.
1 CU 시간 = 3,600 CU 초(1 CU에 시간당 60분, 분당 60초를 곱한 값).
각 시간 포인트는 30초입니다. 24시간에는 2,880개의 타임포인트(24시간 * 60분 * 분당 2개의 타임포인트)가 있습니다.
스무딩은 3,600 CU 초를 24시간에 걸쳐 분산시키기 때문에, 작업은 각 30초 타임포인트에 3,600 CU 초/2,880 타임포인트를 기여합니다. 즉, 각 시간대당 1.25 CU초를 기여합니다.
10분 스로틀링 비율은 다음 10분 용량 가동 시간 동안 사용 가능한 총 CU를 기준으로 합니다.
F2 용량은 2 CU를 제공합니다. 각 시간대에서 F2는 2 CU에 30초 = 60 CU초의 계산 시간을 곱합니다.
백그라운드 작업이 각 개별 시간점에 기여하는 비율은 1.25 CU 초 / 60 CU 초 = 개별 시간점의 ~2.1%입니다.
10분 동안 F2는 2 CU에 600초 = 1,200 CU초의 계산 시간을 곱합니다.
스무딩이 다음 10분의 용량에 분산되는 백그라운드 작업의 부분은 1.25 CU초 × 20개 시점 = 25 CU초입니다.
따라서 10분 스로틀링 퍼센트는 25 CU 초 / 1,200 CU 초 = ~2.1%입니다.
마찬가지로, 백그라운드 작업이 미치는 60분 속도 제한 백분율 영향도 약 2.1%입니다.
백그라운드 작업이 다음 10분 동안 사용할 수 있는 CU보다 더 많은 CU를 소비했지만(사용 가능한 양의 6배를 소비), 평준화가 총 CU를 24시간에 걸쳐 분산하기 때문에 F2 용량은 스로틀링되지 않습니다. 소모된 CU의 작은 부분만 다듬기 때문에 개별 시점에 적용됩니다.
초과분, 이월 및 소진
한 시간 내에 SKU가 지원하는 용량을 초과하는 작업을 사용하면 시스템이 초과 용량을 계산합니다. 시스템은 평활화 후 초과 계산을 합니다. 초과분이 허용된 10분 스로틀링 기간을 초과하면 이월 carryforward CU가 됩니다.
초과분 보호는 10분 동안의 속도 제한 조치가 꽉 차기 전까지 리소스 용량이 조절되지 않도록 보장합니다. 이는 일시적인 활용 급증으로 인한 상호작용 지연의 빈도를 줄여줍니다.
Fabric은 각 후속 타임포인트에 캐리포워드 CU를 적용합니다. 만약 한 시간대가 가득 차 있지 않으면, 사용하지 않은 CU가 이월 CU 수를 줄여줍니다. 이 감소가 번다운입니다.
사용되지 않은 용량이 모든 이월된 용량 단위를 지불할 때까지 제한 적용이 계속됩니다.
제한 제어를 위한 성능 모니터링
용량 관리자는 용량 Overview Events를 사용하여 용량 임계값에 대한 이메일 알림을 설정할 수 있습니다. 관리자는 용량 메트릭 앱을 사용하여 용량에 대한 제한 수준을 검토할 수도 있습니다.
적절한 크기 조정 및 용량 최적화
지속적으로 높은 스로틀링 수준은 다수의 용량에 걸쳐 부하를 분산하거나 용량의 SKU 크기를 늘려야 함을 나타냅니다. F SKU의 경우, 용량을 확장할 수 있습니다. F256과 F512 경계의 반대편에 있는 SKU 간 확장은 느린 경험을 초래할 수 있습니다.
용량 제한이 발생하고 있음을 알리는 방법
용량이 요청을 거부할 때, 특정 오류 코드와 오류 텍스트가 나타납니다:
- 상태 코드
CapacityLimitExceeded - 오류 메시지
Your organization's Fabric compute capacity has exceeded its limits. Try again later. - 오류 메시지
Cannot load model due to reaching capacity limits
참고
성능 느린 것은 종종 아이템의 설계 때문입니다. 용량 제한으로 인해 성능이 저하되는 경우는 가끔만 발생합니다.
용량이 오버로드되면 용량 관리자는 Fabric 용량 메트릭 앱을 사용하여 제한 여부를 확인할 수 있습니다.
- 컴퓨팅 페이지의 시스템 이벤트 테이블에는 제한 이벤트의 기록이 표시됩니다.
- 컴퓨팅 페이지의 스로틀링 차트는 스무딩된 사용량이 제한 이유 중 하나를 초과하는 경우 표시됩니다.
발생 시 속도 제한을 멈추는 방법
용량은 자체 복구되므로 새 요청을 제출하기 전에 오버로드 상태가 끝날 때까지 항상 기다릴 수 있습니다.
하지만 속도를 늦추려면 다음과 같은 전략을 사용할 수 있습니다.
F SKU 용량을 사용하여 제한을 중지하려면 다음을 수행하십시오.
- 일시적으로 SKU를 늘입니다. SKU를 늘리면 각 타임포인트에 더 많은 유휴 용량이 있으므로 캐리포워드를 더 빠르게 소모할 수 있습니다.
- 잠시 멈췄다가 다시 용량을 회복하세요. 용량을 일시 중지하면 누적된 향후 용량 사용량에 대한 청구 이벤트가 발생합니다. 용량이 시작되거나 다시 시작될 때 새 작업을 즉시 수락할 수 있도록 향후 용량 사용량이 0입니다. 일시정지하면 할당된 콘텐츠가 해당 용량을 사용할 수 없게 만들 수 있으니, 먼저 해당 용량이 사용 중이 아닌지 확인하세요.
- 용량 초과 청구는 또한 속도 제한 방지를 막을 수 있습니다; 하지만 일반 용량의 세 배에 달하는 비용이 듭니다. 자세한 내용은 '용량 초과 활성화'를 참조하세요.
P SKU 용량을 사용할 때 제한을 피하려면:
- P 용량에 대해 자동 크기 조정 을 사용하도록 설정합니다.
비행 중인 작업이 제한되지 않음
제한은 용량 제한이 시작된 후에 요청된 작업에만 영향을 줍니다. 스로틀링이 시작되기 전에 제출한 오랜 시간이 걸리는 작업을 포함하여, 모든 작업은 끝까지 실행될 수 있습니다. 이 동작은 CU 사용량이 급증하는 동안에도 작업이 완료되도록 보장합니다.
복합 스로틀링 보호
Fabric에서 한 작업은 다른 항목 또는 워크로드를 완료하도록 트리거하는 경우가 많습니다. 많은 예제가 있지만 일반적인 예는 보고서를 보는 것입니다. 보고서의 각 시각적 개체는 기본 의미 체계 모델에 대해 쿼리를 실행합니다. 의미론 모델은 또한 OneLake에서 데이터를 읽어 쿼리 결과를 제공할 수도 있습니다. 이러한 각 요청은 체인을 형성합니다.
통화 연쇄가 있을 때는 복합 속도 제한 위험이 있는데, 이는 Fabric이 같은 요청에 대해 여러 번 속도를 제한할 때 발생합니다. Fabric에는 복합 스로틀링의 발생 가능성을 낮추는 기본 제공 복합 스로틀링 보호 기능이 있습니다. 워크로드는 이 보호 기능을 선택적으로 적용할 수 있습니다.
워크로드가 복합 스로틀링 보호를 지원할 때, Fabric은 체인에 참여하는 각 용량에 대해 단 한 번만 요청을 스로틀링합니다. 요청이 시작될 때 제한 결정이 이루어지며, 이는 연속된 모든 작업에 적용됩니다.
체인이 둘 이상의 용량에 의존하는 경우, 각 용량은 체인에서 자신이 처음 받는 요청에 대해서만 한 번 스로틀링을 적용합니다.
다음 작업 부하는 복합 쓰로틀링을 지원합니다.
- DirectQuery를 사용하여 다른 의미 모델과 연결하는 의미 모델입니다.
- 페이지를 매긴 보고서에서 의미 체계 모델로 DAX 쿼리
제한 동작은 패브릭 워크로드에 특정적입니다.
대부분의 Fabric 제품은 앞서 언급한 스로틀링 규칙을 따르지만, 일부 예외가 있습니다.
예를 들어, Fabric 이벤트스트림은 시작 후 수년간 지속될 수 있는 많은 작업을 가지고 있습니다. 새로운 이벤트스트림 작업을 제한하는 것은 의미가 없으므로, 대신 Fabric은 용량이 다시 정상 상태가 될 때까지 스트림을 열어두는 데 할당하는 CU 자원을 줄입니다.
또 다른 예외는 Real-Time Intelligence로, 작업이 20초씩 지연된다면 실시간이라고 할 수 없습니다. 결과적으로 Real-Time Intelligence는 향후 용량이 10분 동안 상승할 때 20초 지연을 둔 제한의 첫 번째 단계를 적용하지 않습니다. Real-Time Intelligence는 향후 용량의 60분 동안은 제한을 시작하기 위해 거부 단계가 올 때까지 기다립니다. 이러한 동작은 수요가 높은 시기에도 실시간 성능을 계속 누릴 수 있도록 보장합니다.
마찬가지로, Fabric은 24시간 활동 평활화를 활용하고 가장 유연한 사용 패턴을 가능하게 하기 위해 거의 모든 Warehouse 카테고리 작업을 배경으로 보고합니다. 모든 데이터 웨어하우징을 백그라운드로 분류하면 CU 사용량의 급증이 너무 빠르게 제한을 트리거하지 않도록 방지합니다. 일부 요청은 Fabric에서 별도로 스로틀링하는 일련의 작업을 유발할 수 있습니다. 대화형 작업이 백그라운드 작업을 포함하는 체인을 시작하면, Fabric은 해당 백그라운드 작업을 대화형 작업으로 간주하여 스로틀링할 수 있습니다.
제한 및 스무딩을 위한 대화형 및 백그라운드 분류
Fabric이 때때로 연산을 인터랙티브로 분류하고 배경으로 부드럽게 처리하거나, 그 반대로 하는 것을 눈치챌 수 있습니다. 이 구분은 Fabric의 스로틀링 시스템이 요청이 실행되기 전에 스로틀링 규칙을 적용해야 하기 때문입니다.
제한 시스템은 작업을 제출할 때 이를 정확하게 분류하려는 시도를 합니다. 경우에 따라 작업이 실행되기 시작하면 분류를 변경하는 보다 자세한 정보를 사용할 수 있게 됩니다. 모호한 상황에서는 스로틀링 시스템이 작업을 배경으로 분류하는 것으로 되돌아가는데, 이는 사용자에게 가장 유리합니다.
초과분 및 거부된 작업 추적
용량이 과부하 상태인지 확인하려면 Microsoft Fabric 용량 지표 앱의 활용도 차트를 확인하세요. 선을 넘어가는 급증은 초과를 나타냅니다. 초과를 자세히 조사하려면 타임포인트 페이지로 접근합니다. 그 다음 인터랙티브 작업과 백그라운드 작업을 모두 검토해서 초과 비용을 발생시킨 원인을 찾아보세요.
사용률이 100%를 초과한다고 해서 자동으로 스로틀링 차트를 의미하는 것은 아니므로, 초과분을 평가할 때는 스로틀링 차트를 사용하세요. 그다음, 번다운까지 남은 시간을 보여 주는 표와 추가, 번다운, 누적 백분율이 포함된 차트 등을 열어 보세요. 번다운 예상 시간(분)은 용량에서 더 이상의 작업이 발생하지 않을 경우 번다운이 완료되는 데 걸리는 시간을 예측합니다.
이월, 누적 및 사용률 번다운 데이터를 포함한 용량 초과 사용 내역의 시각적 기록을 보려면 초과분 탭으로 이동하세요. 초과분 시각화 배율을 10분, 60분, 24시간으로 변경하세요.
Microsoft Fabric 용량 지표 앱 드릴다운은 Fabric이 속도 조절 이벤트 중 거부한 작업을 보여줍니다. 이 작전들은 시작되지 않았기 때문에 정보가 제한적입니다. 제품, 사용자, 작업 ID, 요청 시각을 확인할 수 있습니다. Fabric이 요청을 거부하면 최종 사용자는 나중에 다시 시도하라는 오류 메시지를 받습니다.
스로틀링 계산에서의 청구 대상 및 비청구 대상 컴퓨팅
용량 메트릭 앱에서 용량 사용량을 검토하면 일부 작업은 청구 가능하고 다른 작업은 청구할 수 없습니다. 스로틀링 계산에는 청구 가능한 작업만 포함됩니다. 일부 미리보기 기능은 비청구 작업을 생성할 수 있습니다. 비청구 운영을 활용해 미리 계획하여 미리보기 기능이 청구 가능해질 때 용량을 적절히 조정하세요.
관련 콘텐츠
- Microsoft Fabric 용량 메트릭 앱을 설치 하여 패브릭 용량을 모니터링합니다.
- 용량 크기를 조정하는 방법입니다.
- Fabric Real-Time 허브에서 Fabric 용량 개요 이벤트 살펴보기