產能原則

適用於: ✅Azure 數據總管

容量原則可用來控制叢集上數據管理作業的計算資源。

容量原則物件

容量原則是由下列元件所組成:

若要檢視叢集的容量,請使用 .show capacity 命令。

擷取容量

屬性 類型​ 描述
ClusterMaximumConcurrentOperations long 叢集中允許的並行擷取作業數目上限。 此值會限制總擷取容量,如下列公式所示。
CoreUtilizationCoefficient real 決定要用於擷取容量計算的核心百分比。

公式

.show capacity 命令會根據下列公式傳回叢集的擷取容量:

Minimum(ClusterMaximumConcurrentOperations, 每個節點叢集 Maximum(1,* 核心計數中的節點數目 * CoreUtilizationCoefficient))

注意

在具有四個或更多節點的叢集中,系統管理節點不會參與擷取作業,因此 叢集中 的節點數目會減少一個。

範圍合併容量

屬性 類型​ 描述
MinimumConcurrentOperationsPerNode long 單一節點上的並行範圍合併/重建作業數目下限。 預設值為 1
MaximumConcurrentOperationsPerNode long 單一節點上並行範圍合併/重建作業的最大數目。 預設值為 5

公式

.show capacity 命令會根據下列公式傳回叢集的範圍合併容量:

每個節點叢集 * 並行作業中的節點數目

只要合併作業的成功率為 90% 或更高,每個節點的並行作業有效值就會由系統在 [MinimumConcurrentOperationsPerNodeMaximumConcurrentOperationsPerNode] 範圍內自動調整。

注意

在具有四個或更多節點的叢集中,系統管理節點不會參與合併作業,因此 叢集中 的節點數目會減少一個。

範圍清除重建容量

屬性 類型​ 描述
MaximumConcurrentOperationsPerNode long 單一節點上清除作業的並行重建範圍數目上限。

公式

.show capacity 命令會根據下列公式傳回叢集的範圍清除重建容量:

叢集 x 中的節點數目 MaximumConcurrentOperationsPerNode

注意

在具有四個或多個節點的叢集中,系統管理節點不會參與清除作業,因此 叢集中 的節點數目會減少一個。

匯出容量

屬性 類型​ 描述
ClusterMaximumConcurrentOperations long 叢集中並行匯出作業的數目上限。 此值會限制導出容量總計,如下列公式所示。
CoreUtilizationCoefficient long 決定匯出容量計算中要使用的核心百分比。

公式

.show capacity 命令會根據下列公式傳回叢集的導出容量:

Minimum(ClusterMaximumConcurrentOperations, 每個節點叢集 Maximum(1,* 核心計數中的節點數目 * CoreUtilizationCoefficient))

注意

在具有四個或更多節點的叢集中,系統管理節點不會參與導出作業。 會 Number of nodes in cluster 減少一個 。

範圍分割容量

屬性 類型​ 描述
ClusterMinimumConcurrentOperations long 叢集中並行範圍分割作業的數目下限。 預設值為 1
ClusterMaximumConcurrentOperations long 叢集中並行範圍分割作業的數目上限。 預設值為 32

只要分割作業的成功率為 90% 或更高,並行作業的有效值就會由系統在 [ClusterMinimumConcurrentOperationsClusterMaximumConcurrentOperations] 範圍內自動調整。

具體化檢視容量原則

此原則可用來變更具體化檢視並行設定。 當叢集上定義的單一具體化檢視超過單一具體化檢視時,變更具體化檢視容量原則可能會很有用。

屬性 類型​ 描述
ClusterMinimumConcurrentOperations long 叢集中並行具體化作業的數目下限。 預設值為 1
ClusterMaximumConcurrentOperations long 叢集中並行具體化作業的最大數目。 預設值為 10

根據預設,只有單一具體化同時執行(請參閱 具體化檢視的運作方式)。 系統會根據叢集中的具體化檢視數目和叢集 CPU,調整範圍 [ClusterMinimumConcurrentOperationsClusterMaximumConcurrentOperations] 中的目前並行。 您可以藉由改變此原則來增加/減少並行。 例如,如果叢集有十個具體化檢視,請將 設定 ClusterMinimumConcurrentOperations 為5,可確保其中至少有五個可以同時具體化。 您可以使用 .show capacity 命令來檢視目前並行 的有效值

警告

ClusterMinimumConcurrentOperations提高可能會導致資源耗盡並降低叢集效能。 如果您手動變更此原則,請仔細監視叢集的健康情況,並逐漸增加並行。

預存查詢結果容量

屬性 類型​ 描述
MaximumConcurrentOperationsPerDbAdmin long 叢集管理節點中的並行擷取作業數目上限。
CoreUtilizationCoefficient real 決定要用於預存查詢結果建立計算的核心百分比。

公式

.show capacity 命令會根據下列公式傳回叢集的預存查詢結果建立容量:

每個節點叢集 *Maximum(1,核心計數中的節點數目 * CoreUtilizationCoefficient)

注意

在具有四個或更多節點的叢集中,系統管理節點不會參與預存的查詢結果建立作業,因此 叢集中 的節點數目會減少一個。

串流擷取後處理容量

屬性 類型​ 描述
MaximumConcurrentOperationsPerNode long 每個叢集節點上並行串流擷取後處理作業的最大數目。

公式

.show capacity 命令會根據下列公式傳回叢集的串流擷取後處理容量:

叢集 x 中的節點數目 MaximumConcurrentOperationsPerNode

注意

在具有四個或更多節點的叢集中,系統管理節點不會參與串流擷取後處理,因此 叢集中 的節點數目會減少一個。

清除記憶體成品清除容量

屬性 類型​ 描述
MaximumConcurrentOperationsPerCluster long 叢集上的並行清除記憶體成品清除作業數目上限。

公式

.show capacity 命令會根據下列公式傳回叢集的清除記憶體成品清除容量:

MaximumConcurrentOperationsPerCluster

定期記憶體成品清除容量

屬性 類型​ 描述
MaximumConcurrentOperationsPerCluster long 叢集上並行定期儲存成品清除作業的最大數目。

公式

.show capacity 命令會根據下列公式傳回叢集的定期記憶體成品清除容量:

MaximumConcurrentOperationsPerCluster

Defaults

默認容量原則具有下列 JSON 表示法:

{
  "IngestionCapacity": {
    "ClusterMaximumConcurrentOperations": 512,
    "CoreUtilizationCoefficient": 0.75
  },
  "ExtentsMergeCapacity": {
    "MinimumConcurrentOperationsPerNode": 1,
    "MaximumConcurrentOperationsPerNode": 3
  },
  "ExtentsPurgeRebuildCapacity": {
    "MaximumConcurrentOperationsPerNode": 1
  },
  "ExportCapacity": {
    "ClusterMaximumConcurrentOperations": 100,
    "CoreUtilizationCoefficient": 0.25
  },
  "ExtentsPartitionCapacity": {
    "ClusterMinimumConcurrentOperations": 1,
    "ClusterMaximumConcurrentOperations": 32
  },
  "MaterializedViewsCapacity": {
    "ClusterMaximumConcurrentOperations": 1,
    "ExtentsRebuildCapacity": {
      "ClusterMaximumConcurrentOperations": 50,
      "MaximumConcurrentOperationsPerNode": 5
    }
  },
  "StoredQueryResultsCapacity": {
    "MaximumConcurrentOperationsPerDbAdmin": 250,
    "CoreUtilizationCoefficient": 0.75
  },
  "StreamingIngestionPostProcessingCapacity": {
    "MaximumConcurrentOperationsPerNode": 4
  },
  "PurgeStorageArtifactsCleanupCapacity": {
    "MaximumConcurrentOperationsPerCluster": 2
  },
  "PeriodicStorageArtifactsCleanupCapacity": {
    "MaximumConcurrentOperationsPerCluster": 2
  }
}

管理命令

警告

在變更容量原則之前,請先洽詢支援小組。

管理命令節流

Kusto 會限制下列使用者起始命令的並行要求數目:

  • 擷取
  • 清除
    • 全域限制目前固定在每個叢集一個。
    • 清除 重建容量 會在內部用來判斷清除命令期間的並行重建作業數目。 清除命令不會因為此程式而遭到封鎖或節流,但會根據清除重建容量來完成更快或更慢。
  • 匯出
    • 限制如匯出容量中所定義。

當叢集偵測到作業超過並行要求的限制時:

  • 命令的狀態,如系統資訊命令呈現,為 Throttled
  • 錯誤訊息包括 命令類型節流的來源 ,以及 已超過的容量 。 例如:
    • 例如: The management command was aborted due to throttling. Retrying after some backoff might succeed. CommandType: 'TableSetOrAppend', Capacity: 18, Origin: 'CapacityPolicy/Ingestion'
  • HTTP 回應碼為 429。 子程式代碼為 TooManyRequests
  • 例外狀況類型為 ControlCommandThrottledException

注意

管理命令也可能因為超出工作負載群組 的要求速率限制原則所定義的限制而進行節流。