容量策略

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

容量策略对象

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

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

引入容量

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

公式

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

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

注意

在具有四个或四个以上节点的群集中,管理节点不参与引入操作,因此“群集中的节点数”会减少 1。

盘区合并容量

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

公式

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

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

“每个节点的并发操作数”的有效值在 [MinimumConcurrentOperationsPerNode,MaximumConcurrentOperationsPerNode] 范围内由系统自动调整,前提是合并操作的成功率等于或高于 90%。

注意

在具有四个或四个以上节点的群集中,管理节点不参与并发操作,因此“群集中的节点数”会减少 1。

盘区清除重新生成容量

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

公式

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

群集中的节点数 x MaximumConcurrentOperationsPerNode

注意

在具有四个或四个以上节点的群集中,管理节点不参与并发操作,因此“群集中的节点数”会减少 1。

导出容量

属性 类型​​ 描述
ClusterMaximumConcurrentOperations long 群集中的并发导出操作的最大数量。 该值限制了总导出容量,如以下公式所示。
CoreUtilizationCoefficient long 确定要在导出容量计算中使用的核心百分比。

公式

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

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

注意

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

盘区分区容量

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

“并发操作数”的有效值在 [ClusterMinimumConcurrentOperations,ClusterMaximumConcurrentOperations] 范围内由系统自动调整,前提是分区操作的成功率等于或高于 90%。

具体化视图容量策略

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

properties 类型​​ 描述
ClusterMinimumConcurrentOperations long 群集中的并发具体化操作的最小数量。 默认值为 1
ClusterMaximumConcurrentOperations long 群集中的并发具体化操作的最大数量。 默认值为 10

“并发操作数”的有效值由系统在 [ClusterMinimumConcurrentOperations,ClusterMaximumConcurrentOperations] 范围内根据群集中具体化视图的数量和群集的 CPU 进行自动调整。

警告

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

存储查询结果容量

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

公式

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

群集中的节点数*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

注意

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