资源调控器简介

资源调控器是 SQL Server 2008 中的一项新技术,使用该技术可以通过指定传入请求的资源消耗限制管理 SQL Server 工作负荷和资源。在资源调控器上下文中,工作负荷是一组大小相似的查询或请求,可以且应该视为单个实体。这并不是必需的,但是工作负荷的资源使用模式越统一,通过资源调控器可能获得的益处越多。资源限制可以实时重新配置,对正在执行的工作负荷影响非常小。

在相同服务器上存在多个不同工作负荷的环境中,使用资源调控器可以区分这些工作负荷并能根据指定的限制在请求时分配共享资源。这些资源是 CPU 和内存。

资源调控器仅在 SQL Server 的 Enterprise Edition、Developer Edition 和 Evaluation Edition 中提供。

资源问题类型

资源调控器专用于解决以下类型的资源问题,并且通常出现在数据库环境中:

  • 服务器上的查询用尽。在这种情况下,资源消耗比较大的查询会占用大多数或所有服务器资源。

  • 不可预测的工作负荷执行。在这种情况下,相同服务器上的并行应用程序将具有不同大小和类型的工作负荷。例如,两个数据仓库应用程序或 OLTP 和数据仓库应用程序的混合。这些应用程序彼此不是孤立的,产生的资源争用将导致不可预测的工作负荷执行。

  • 设置工作负荷优先级。在这种情况下,允许一个工作负荷的执行速度快于另一个工作负荷,或者在存在资源争用的情况下保证完成一个工作负荷。使用资源调控器可以为工作负荷分配相对重要性。

所有上述情况都需要能够以某种方式区分工作负荷。资源调控器提供以下功能:

  • 分类传入的连接并将其工作负荷路由到特定组的功能。

  • 监视组中每个工作负荷的资源使用情况的功能。

  • 构建资源池并对 CPU 使用率和内存分配设置特定于池的限制的功能。这样会防止或尽可能减小查询用尽的可能性。

  • 将分组的工作负荷与特定资源池相关联的功能。

  • 识别工作负荷并设置其优先级的功能。

资源调控器约束

此资源调控器版本存在以下约束:

  • 资源管理仅限于 SQL Server 数据库引擎。资源调控器不能用于 Analysis Services、Integration Services 和 Reporting Services。

  • SQL Server 实例之间没有工作负荷监视或工作负荷管理。

  • 限制规范适用于 SQL Server 管理的 CPU 带宽和内存。

  • OLTP 工作负荷。资源调控器可以管理 OLTP 工作负荷,但通常持续时间非常短的查询类型总是在 CPU 上停留很短时间而不足以应用带宽控制。这样会使返回的 CPU 使用率的统计信息有偏差。

请参阅

概念