资源调控器
SQL Server 提供了资源调控器功能,可用于管理 SQL Server 工作负荷和系统资源使用。 您可使用资源调控器指定传入应用程序请求可以使用的 CPU 和内存的数量限制。
有关 SQL Server 2012 中新的资源调控器功能的说明,请参阅 SQL Server 2012 中的资源调控器。
资源调控器的优势
利用资源调控器,您可以通过指定传入请求的资源消耗限制来管理 SQL Server 工作负荷和资源。 在资源调控器上下文中,工作负荷是一组大小相似的查询或请求,可以且应该视为单个实体。 这并不是必需的,但是工作负荷的资源使用模式越统一,通过资源调控器可能获得的益处越多。资源限制可以实时重新配置,对正在执行的工作负荷影响非常小。
在相同服务器上存在多个不同工作负荷的环境中,使用资源调控器可以区分这些工作负荷并能根据指定的限制在请求时分配共享资源。 这些资源是 CPU 和内存。
资源调控器约束
此资源调控器版本存在以下约束:
资源管理仅限于 SQL Server 数据库引擎。 资源调控器不能用于 Analysis Services、Integration Services 和 Reporting Services。
SQL Server 实例之间没有工作负荷监视或工作负荷管理。
限制规范适用于 SQL Server 管理的 CPU 带宽和内存。
OLTP 工作负荷。 资源调控器可以管理 OLTP 工作负荷,但通常持续时间非常短的查询类型总是在 CPU 上停留很短时间而不足以应用带宽控制。 这样会使返回的 CPU usage % 的统计信息有偏差。
资源概念
下面的三个概念是了解和使用资源调控器的基础:
**资源池。**当安装 SQL Server 2012 时,会创建两个资源池(内部资源池和默认资源池)。 资源调控器还支持用户定义的资源池。
**工作负荷组。**当安装 SQL Server 2012 时,会创建两个工作负荷组(内部工作负荷组和默认工作负荷组)并将其映射到对应的资源池。 资源调控器还支持用户定义的工作负荷组。
**分类。**存在用于对传入请求进行分类并将它们路由到工作负荷组的内部规则。 资源调控器还支持用于实现分类规则的分类器用户定义的函数。
注意 |
---|
资源调控器不向专用管理员连接 (DAC) 施加任何控制。 无需对在内部工作负荷组和资源池中运行的 DAC 查询进行分类。 |
在资源调控器的上下文中,您可以将前面的概念视为组件。 下图显示了这些组件及其在数据库引擎环境中相互之间的关系。 从处理的角度,简化的流程如下所示:
会话有传入的连接(Session 1,共 n 个)。
会话已分类(分类)。
会话工作负荷将路由到工作负荷组,例如,Group 4。
工作负荷组使用与其关联的资源池,例如,Pool 2。
资源池提供并限制应用程序所需的资源,例如,Application 3。
资源调控器任务
任务说明 |
主题 |
---|---|
说明如何启用资源调控器。 |
|
说明如何禁用资源调控器。 |
|
说明如何创建、更改和删除资源池。 |
|
说明如何创建、更改、移动和删除工作负荷组。 |
|
说明如何创建和测试分类器用户定义函数。 |
|
说明如何使用模板配置资源调控器。 |
|
说明如何查看资源调控器属性。 |