共用方式為


Fabric 節流原則

當作業耗用比容量 SKU 允許的更多計算單位秒數時,就會發生節流。 過度節流可能會導致最終使用者體驗降低。 Microsoft Fabric 租用戶可以建立多個容量,並將工作區指派給特定容量以進行計費和大小調整。

節流會在容量層級套用,這意味著雖然一個容量或一組工作區可能會因為多載而效能變低,但其他容量可能會正常執行。 當 OneLake 成品等功能在一個容量產生並被另一個容量使用時,取用容量的節流狀態會決定對成品的呼叫是否受到節流。

效能與可靠性之間的平衡

網狀架構的設計目的是要為客戶提供快速的效能。 在其他平臺上可能需要幾分鐘才能完成的工作,在 Fabric 上只需幾秒即可完成。 大型作業可以在一天中的任何時間執行,而不需要仔細排程,因為這些作業的計算會分散在較長的時間週期內,而不會減緩作業。 網狀架構會使用內建突發和平滑處理來達成此功能。 它們可讓容量在暫時性使用量尖峰時進行自我管理和自我修復,否則會導致其他系統失敗或變慢。

高載

為了確保效能快速,Fabric 會使用 高載 讓作業盡可能快地執行。 突增運算能力允許作業暫時使用超過容量 SKU 所配置的計算資源。 由於高載,使用者不需要等候就能快速取得結果。 突增功能使得較小的容量能夠執行通常需要更昂貴容量的較大作業。

平滑處理

為了避免在作業因突增而受益時受到懲罰,Fabric 會抹平或平均計算作業的 CU 使用量,並延長至較長的時間範圍。 此行為可確保用戶能夠在不發生節流的情況下,享有持續快速的效能。

Smoothing 將所消耗的 CU 使用量分散到未來的 時間點。 Fabric 中的時間點長 30 秒。 在接下來的 24 小時內有 2,880 個時間點。 Fabric 會自動管理每個時間點的消耗計算單元(CUs)數量。

作業的使用率類型會決定用於平滑處理的時間點數目。 瞭解 網狀架構作業

  • 互動式作業會經過至少五分鐘的平滑處理,最多 64 分鐘,視其耗用的 CU 使用量而定。
  • 背景作業的進行會在 24 小時內變得流暢,因為通常具有較長的運行時間和較大的 CU 耗用量。

由於平滑處理,作業的 CU 使用量只有一部分會應用於任一時間點,從而降低整體的限流。 順暢的 CU 使用量會在作業執行時累積。 平滑使用量是由未來容量支付的,也就是未來時間點中可用的 CU,因為容量是持續運行的。

高載處理和平滑處理協作,讓容量使用者能更輕鬆地執行其工作。 例如,使用者通常會花時間排程工作,並將它們分散到一天內。 透過平滑處理,背景作業的計算成本會在24小時內均勻分布。 這表示排定的工作可以同時運行,而不會引起可能阻止工作開始的性能負載波動。 同時,使用者可以享受一致的快速效能,而不需要等待緩慢的工作完成或浪費時間管理作業排程。

注意

容量管理員啟用 Spark 的自動調整計費功能時,爆發式處理和平滑化處理不被支援。 在此案例中,Spark 使用量會以You-Go 隨用隨付模式運作,而且高載和平滑的概念不適用。

節流觸發程序和節流階段

即使容量具有內建的平滑處理,可以減少使用量尖峰的影響,但執行過多作業仍有可能會超載容量。

系統容量在超載時會自動限制新處理程序。 節流會在漸進式步驟中發生,以將數據重新整理等重要工作的影響降到最低。

即使容量運作超過 100 個% 使用率,Fabric 也不會立即套用節流。 相反地,容量會提供 超額保護 ,讓未來 10 分鐘的容量不需節流即可取用。 此行為提供有限的內建保護,防止激增,同時為使用者提供一致快速的效能,而不會中斷。

當容量在未來 10 分鐘內用盡其所有 CU 資源時,就會啟動節流。 節流的第一個階段會將 20 秒的延遲套用至新的互動式作業。 當容量在未來一小時內用盡所有的 CU 資源時,節流的第二個階段會拒絕新的互動式操作。 在這個階段中,允許啟動和執行背景作業。 當容量使用完所有可用的 CU 資源後,在接下來的 24 小時內第三階段的節流措施將拒絕所有新要求,包括互動式和背景要求。 容量會繼續限制請求,直到使用的處理單位被清算為止。

注意

Microsoft 嘗試改善客戶使用服務時的彈性,同時平衡管理客戶容量使用量的需求。 因此,Microsoft 可能會變更或更新 Fabric 節流原則。

下表摘要說明節流觸發程序和階段。

使用方式 原則限制 平台原則體驗影響
使用量 <= 10 分鐘 超額保護 工作可以耗用未來 10 分鐘的容量使用,而不需要節流。
10 分鐘 < 使用量 <=60 分鐘 互動延遲 使用者要求的互動作業在提交時會延遲 20 秒。
60 分鐘 < 使用量 <= 24 小時 互動拒絕 使用者要求的互動式工作遭到拒絕。
使用量 > 24 小時 背景拒絕 所有要求都會遭到拒絕。

平滑處理和節流限制範圍的範例

以下是一個背景操作如何使用平滑處理的範例,其中該操作使用了 1 CUHr(其使用量等同於 1 CU 持續 1 小時)。 背景作業會在24小時內順利執行。 在任何時間點,背景作業的貢獻是作業所用的 CUHrs 除以 SKU 層級的 CUHrs。 針對 F2,此工作會將 1 CUHr / 48CUhrs = ~2.1% 分配至每個時間點。 對 10 分鐘和 60 分鐘節流限額的效應是 ~2.1%。

以下是支援範例的詳細資料:

1 CUHr = 3,600 CU (1 CU * 每小時 60 分鐘 * 每分鐘 60 秒)

每個時間點都是30秒長。 在24小時內,有2,880個時間點(24小時* 60 分鐘 * 每分鐘2個時間點)。

由於 3600 個計算單元被平滑處理於 24 小時,因此該工作在每個 30 秒的時間點上貢獻了 3,600 個計算單元/2,880 個時間點。 因此,它每一個時間點貢獻 1.25 個 CU。

10 分鐘的節流百分比是以未來 10 分鐘容量運行時間中可用的 RU 總數為基礎。

F2 容量每秒有 2 CU(或 2 個 CU)。 在每個時間點中,F2 有 2 個 RU * 30 秒 = 60 個計算的 RU。

背景工作對任何個別時間點的貢獻為 1.25 RU/60 RU = ~2.1% 個別時間點。

在10分鐘內,F2提供的運算能力為:2 CU * 60秒 * 10分鐘 = 1,200 CU。

整合至未來 10 分鐘容量的背景工作部分是 1.25 個 CU * 每分鐘 2 個時間點 * 10 分鐘 = 25 個 CU。

因此,10 分鐘的節流百分比是 25 個 CU / 1,200 個 CU = ~2.1%。

同樣地,背景作業的 60 分鐘節流百分比影響也是 ~2.1%。

即使背景作業耗用了比接下來 10 分鐘時間範圍內可使用的計算單元多六倍的計算單元,F2 容量也不會被限制,因為總計算單元數量在 24 小時內是平滑分佈的。 由於平滑處理,消耗的 CUs 中只有一小部分適用於任一特定的時間點。

超額、結轉和燃盡

當作業在單一時間點使用比 SKU 支援的容量還多時,就會計算 超額 。 套用平滑處理之後,會計算超額。 如果超過允許的10分鐘流量管制視窗,則它們會變成 累積 的CU。

超額保護 可確保容量在10分鐘節流期間已滿之前不會進行節流。 其設計目的是降低因使用率暫時性尖峰所造成的互動式延遲頻率。

隨向 CUS 會套用至每個後續的時間點。 如果時間點未滿,則未使用的 CU 會減少 結轉 CU 的數量。 減少稱為 燒毀

節流強制執行會維持,直到未使用的容量償還所有累積的 CUs。

監視節流機制的效能

容量管理員可以設定電子郵件警示,以在容量耗用其預配置的 CU 資源達到 100% 時收到通知。 系統管理員也可以使用容量計量應用程式來檢閱其容量的節流層級。

適量調整並優化容量

穩定的高節流水平表示需要在多個容量之間進行負載平衡,或增加容量的SKU規格。 使用 F SKU 時,您可以隨時在系統管理員設定中手動增加和減少 SKU 大小,這可讓您在需要時解決節流問題。

如何判斷資源容量限制發生

當容量拒絕要求時,使用者會看到特定的錯誤碼和錯誤文字:

  1. 狀態代碼 CapacityLimitExceeded
  2. 錯誤訊息 Your organization's Fabric compute capacity has excceded its limits. Try again later
  3. 錯誤訊息 Cannot load model due to reaching capacity limits

注意

效能變慢通常是由於項目的設計所致。 只有有時候效能變慢是因為容量節流。

當容量超載時,容量管理員可以使用 Fabric 容量計量應用程式來確認節流。

  1. [計算] 頁面上的 [系統事件] 數據表會顯示節流事件的歷程記錄。
  2. 計算頁面上的節流圖表顯示當平滑使用量超過某一節流限制時。

如何在出現限流情況時停止此限制

容量是自我修復,因此您一律可以等到多載狀態結束,再提交新的要求。

不過,若要更快速地停止節流,您可以使用下列策略。

使用 F SKU 容量時,若要停止節流:

  • 暫時增加 SKU。 藉由增加 SKU,您可以更快速地消耗未處理,因為每個時間點都有較多的閑置容量。
  • 暫停後再恢復您的功能。 暫停容量會導致累積未來容量使用量的計費事件。 當容量啟動或繼續時,其未來容量使用量為零,因此可以立即接受新的作業。

使用 P SKU 容量時,若要停止節流:

執行中的操作不會被節流

節流只會影響容量開始節流之後所要求的作業。 所有作業均被允許執行至完成,包括在節流開始之前提交的長時間運行作業。 此行為讓您確信即使在 CU 使用量激增時,操作也能完成。

複合節流保護

在 Fabric 中,一項作業通常會觸發其他專案或工作負載來完成。 有許多範例,但典型的範例是檢視報表。 報表中的每個視覺效果都會針對基礎語意模型執行查詢。 語意模型也可能讀取數據表單 OneLake,以提供查詢結果。 每個要求都會形成一個鏈條。

當有一連串的呼叫時,會有 複合節流的風險,也就是將節流多次套用至相同的要求時。 網狀架構具有內建的複合節流保護,可降低發生複合節流的可能性。 工作負載可以選擇使用此保護。

當工作負載支持複合節流保護時,每個參與鏈結的容量只會對要求進行一次節流。 當請求開始時,節流判斷適用於鏈結中的所有作業。

如果鏈結依賴多個容量,則每個容量都會針對在鏈結中收到的第一個要求強制執行節流一次。

下列工作負載實例支援複合節流:

  • 使用直接查詢連接到其他語意模型的語意模型。
  • 從編頁報表到語意模型的DAX查詢。

節流行為是網狀架構工作負載特有的

雖然大部分 Fabric 產品都遵循先前所述的節流規則,但有一些例外狀況。

例如,Fabric 事件數據流有許多作業可以在啟動之後執行數年。 節流處理新的事件串流作業並無意義,因此,配置來保持數據流開啟的 CU 資源數量會降低,直到容量再次處於良好狀態為止。

另一個例外狀況是即時智慧,如果操作延遲 20 秒,則無法達到即時效果。 因此,Real-Time Intelligence 不會套用未來容量 10 分鐘 20 秒延遲的第一個階段進行節流。 Real-Time Intelligence 會等到未來容量 60 分鐘的拒絕階段才會開始節流。 此行為可確保使用者即使在高需求期間仍可繼續享受即時效能。

類似地,[倉儲] 類別中的大部分操作都會報告為 [背景],以利用 24 小時的活動平滑,實現最靈活的使用模式。 將所有資料倉儲分類為 [背景] 可防止出現 CU 使用率尖峰,避免過快觸發節流。 某些要求可能會觸發以不同方式進行節流的作業鏈結。 當互動式作業啟動包含背景作業的鏈結時,背景作業可能會因為互動式作業而受限於節流。

節流和平滑處理的互動式及背景分類

有些管理員可能會注意到操作有時會分類為互動式,但卻作為背景被平滑處理,反之亦然。 因為 Fabric 的節流系統必須在要求開始執行之前套用節流規則,才會產生此差異。

節流系統會嘗試在提交時正確分類作業。 有時當作業開始執行時,會提供更詳細的資訊來變更分類。 在模棱兩可的情況下,節流系統會退回到將作業分類為背景,以符合使用者的最佳利益。

追蹤超額和被拒絕操作

您可以查看Microsoft網狀架構容量計量應用程式中使用率圖表,以查看您的容量是否已超載。 超出線的尖峰表示超額。 若要進一步調查超額用量,請深入查看時間點頁面。 然後,您可以檢閱互動式操作和背景操作,並查看哪些操作導致超額。

由於使用量超過 100% 並不會自動表示節流,因此您必須在評估超額時使用 節流圖表 。 在此,您可以開啟一個資料表,其中顯示待執行工作的分鐘數,以及新增、燒耗和累積百分比的圖表,等等。 估算燒除時間指的是在不進行任何更多操作的情況下,預計需要多少分鐘來完成燒除。

動畫顯示選擇時間點的深入分析選項。

若要檢視容量使用量過高的視覺化歷程記錄,包括利用率資料的轉結、累積和燒耗,請移至 [超額] 索引標籤。您可以變更超額視覺物件比例,以顯示 10 分鐘、60 分鐘和 24 小時。

展示隨著時間變動的超額情況的動畫。

Microsoft Fabric 容量計量應用程式的向下鑽研,可讓管理員查看節流事件期間遭到拒絕的操作。 這些操作的資訊有限,因為它們從未被允許啟動。 管理員可以看到提交要求的產品、使用者、操作 ID 和時間。 要求被拒絕時,終端使用者會收到錯誤訊息,要求他們稍後再試一次。

計費和非計費計算

當您在容量計量應用程式中檢閱容量使用量時,某些作業可計費,而其他作業則為不可計費。 只有計費作業會被包含在節流計算中。 預覽功能可以產生非計費的作業。 使用不可計費的作業進行預先規劃,以便在這些預覽功能轉為可計費時正確配置容量。