工作负荷组
适用于:✅Azure 数据资源管理器
工作负荷组允许根据共同的特征将一组管理命令和查询归组到一起,并应用策略来控制每个组中每个请求的限制和请求速率限制。
工作负荷组与工作负荷组策略一起充当群集传入请求的资源调控系统。 请求在发起之后被分类到工作负荷组中。 根据在请求分类策略中定义的用户定义函数进行分类。 请求遵循在整个执行过程中分配给指定工作负荷组的策略。
工作负荷组在群集级别定义,除了三个内置工作负荷组之外,最多还可以定义 10 个自定义组。
注意
如果请求不是查询或管理命令(如流式处理引入请求),那么这些请求不包括在工作负荷组的范围内。
自定义工作负荷组的用例
以下列表涵盖创建自定义工作负荷组的一些常见用例:
- 防范失控查询:创建一个具有请求限制策略的工作负荷组,以设置查询执行期间的资源使用情况和并行度限制。 例如,此策略可以调节结果集大小、每个迭代器内存、每个节点内存、执行时间和 CPU 资源使用情况。
- 监视资源利用率:工作负荷组可帮助你创建有关给定主体或应用程序资源使用量的定期报告。 例如,如果这些主体表示不同的客户端,则此类报告有助于准确计费。 有关详细信息,请参阅按工作负荷组监视请求。
创建和管理工作负荷组
使用以下命令管理工作负荷组及其策略:
- .alter-merge workload_group
- .create-or-alter workload_group
- .drop workload_group
- .show workload_group
工作负荷组策略
可以为每个工作负荷组定义以下策略:
内置工作负荷组
预定义的工作负荷组有:
默认工作负荷组
下列条件下,请求会分类到 default
组中:
- 没有用于对请求进行分类的标准。
- 曾经尝试将请求分类到不存在的组。
- 发生了常规性的分类错误。
可以执行以下操作:
- 更改用于路由这些请求的条件。
- 更改适用于
default
工作负荷组的策略。 - 将请求分类到
default
工作负荷组。
若要监视被分类到 default
工作负荷组的内容,请参阅按工作负荷组监视请求。
注意
某些群集可能具有最大并发查询限制,该限制通过弃用的查询限制策略来定义。 在此类群集中,该限制自动应用于 default
工作负荷组的请求速率限制策略。 虽然旧限制仅影响查询,但新限制适用于所有请求,包括查询和管理命令。
内部工作负荷组
internal
工作负荷组中填入的是仅供内部使用的请求。
你无法:
- 更改用于路由这些请求的条件。
- 更改适用于
internal
工作负荷组的策略。 - 将请求分类到
internal
工作负荷组。
若要监视被分类到 internal
工作负荷组的内容,请参阅按工作负荷组监视请求。
具体化视图工作负荷组
$materialized-views
工作负荷组适用于具体化视图的具体化过程。 有关具体化视图工作原理的详细信息,请参阅具体化视图概述。
可以在工作负荷组的请求限制策略中更改以下值:
- MaxMemoryPerQueryPerNode
- MaxMemoryPerIterator
- MaxFanoutThreadsPercentage
- MaxFanoutNodesPercentage
注意
你无法更改用于路由这些请求的条件。
按工作负荷组监视请求
系统命令指示请求被分类到的工作负荷组。 可以使用这些命令按工作负荷组对已完成的请求聚合资源利用率。
也可以在 Azure Monitor 见解中查看和分析相同的信息。