你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

容量策略

容量策略用于控制群集上数据管理操作的计算资源。

容量策略对象

容量策略由以下组件组成:

若要查看群集的容量,请使用 .show capacity 命令。

引入容量

属性 类型 说明
ClusterMaximumConcurrentOperations long 群集中允许的最大并发引入操作数。 此值限制总引入容量,如以下公式所示。
CoreUtilizationCoefficient real 确定在引入容量计算中使用的内核百分比。

公式

.show capacity 命令根据以下公式返回群集的引入容量:

Minimum(ClusterMaximumConcurrentOperations,群集*Maximum(1,中的节点数每个节点的核心计数*CoreUtilizationCoefficient))

注意

在具有四个或更多节点的群集中,管理节点不参与引入操作,因此 群集中的节点数 减少了 1。

盘区合并容量

属性 类型 说明
MinimumConcurrentOperationsPerNode long 单个节点上的最小并发盘区合并/重新生成操作数。 默认为 1
MaximumConcurrentOperationsPerNode long 单个节点上的并发盘区合并/重新生成操作的最大数目。 默认为 5

公式

.show capacity 命令根据以下公式返回群集的盘区合并容量:

群集*中的节点数每个节点的并发操作数

只要合并操作的成功率为 90% 或更高,系统会自动调整 [,MaximumConcurrentOperationsPerNode] 范围内的MinimumConcurrentOperationsPerNode每个节点并发操作的有效值。

注意

在具有四个或更多节点的群集中,管理节点不参与合并操作,因此 群集中的节点数 减少了 1。

盘区清除重新生成容量

属性 类型 说明
MaximumConcurrentOperationsPerNode long 单个节点上清除操作的最大并发重新生成盘区数。

公式

.show capacity 命令根据以下公式返回群集的盘区清除重新生成容量:

群集 x 中的节点数MaximumConcurrentOperationsPerNode

注意

在具有四个或更多节点的群集中,管理节点不参与合并操作,因此 群集中的节点数 减少了 1。

导出容量

属性 类型 说明
ClusterMaximumConcurrentOperations long 群集中并发导出操作的最大数目。 此值限制导出总容量,如以下公式所示。
CoreUtilizationCoefficient long 确定在导出容量计算中使用的内核百分比。

公式

.show capacity 命令根据以下公式返回群集的导出容量:

Minimum(ClusterMaximumConcurrentOperations,群集*Maximum(1,中的节点数每个节点的核心计数*CoreUtilizationCoefficient))

注意

在具有四个或更多节点的群集中,管理节点不参与导出操作。 Number of nodes in cluster 减少 1 个。

盘区分区容量

属性 类型 说明
ClusterMinimumConcurrentOperations long 群集中最小数量的并发盘区分区操作。 默认为 1
ClusterMaximumConcurrentOperations long 群集中并发盘区分区操作的最大数目。 默认为 32

只要分区操作的成功率为 90% 或更高, 并发操作 的有效值将由系统在 [ClusterMinimumConcurrentOperationsClusterMaximumConcurrentOperations] 范围内自动调整。

具体化视图容量策略

该策略可用于更改具体化视图的并发设置。 在群集上定义了多个具体化视图时,更改具体化视图容量策略很有用。

属性 类型 说明
ClusterMinimumConcurrentOperations long 群集中并发具体化操作的最小数量。 默认为 1
ClusterMaximumConcurrentOperations long 群集中并发具体化操作的最大数目。 默认为 10

并发操作的有效值由系统根据群集中的具体化视图数和群集的 CPU 自动调整在 [ClusterMinimumConcurrentOperationsClusterMaximumConcurrentOperations] 范围内。

警告

仅当群集具有充足的资源 (低 CPU 使用率和可用内存) 时才增加 ClusterMinimumConcurrentOperations 。 在资源约束下提高这些值可能会导致耗尽并显著降低群集性能。

存储查询结果容量

属性 类型 说明
MaximumConcurrentOperationsPerDbAdmin long 群集管理节点中并发引入操作的最大数目。
CoreUtilizationCoefficient real 确定在存储的查询结果创建计算中使用的内核百分比。

公式

.show capacity 命令根据以下公式返回群集的存储查询结果创建容量:

群集*Maximum(1,中的节点数每个节点的核心计数*CoreUtilizationCoefficient)

注意

在具有四个或更多节点的群集中,管理节点不参与存储的查询结果创建操作,因此 群集中的节点数 减少了 1。

默认值

默认容量策略具有以下 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
  }
}

管理命令

警告

更改容量策略之前,请咨询支持团队。

管理命令限制

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

注意

如果超出了工作负荷组的请求速率限制策略所定义的上限,管理命令也可能会受到限制。