前言:
在对每个应用程序配置了资源调控器之后,需要监控资源调控器。可能需要监控资源池的使用和多少个请求被分配到特定的资源池。也可能希望监控internal和default池的活动情况。
本文中,演示使用不同登录账号(AW_WebAppUser和AW_ReportAppUser),并监控CPU和内存资源的使用情况。
准备工作:
本文使用的部分脚本在本系列的第一篇中已经写出。这里不累赘。文中将通过不同账号执行相同的语句,模拟不同的请求。
步骤:
1、 打开【可靠性和性能监视器】→perfmon.exe
2、 打开【性能监视器】视图
3、 添加计数器
4、 在添加选项中选择SQLServer:ResourcePoolStats 的CPU usage target%。
5、 由于本机装了一个SQLServer2008和一个SQLServer2012,所以需要找到命名实例也就是2012的计数器:
6、 现在打开SSMS,使用AW_WebAppUser登录,这个为窗体1
7、 打开新窗体2,使用AW_ReportAppUser登录。
8、 在窗体1,也就是使用AW_WebAppUser登录的窗体中输入一下代码,并执行:
USE AdventureWorks2012GO SELECT SalesOrderID , SalesOrderDetailID , CarrierTrackingNumber , OrderQty , ProductID , SpecialOfferID , UnitPrice , UnitPriceDiscount , LineTotal , rowguid , ModifiedDateFROM sales.salesOrderdetailORDER BY SalesOrderIDGOSELECT SalesOrderID , SUM(LineTotal) , ROW_NUMBER() OVER ( ORDER BY SUM(LineTotal) DESC , SalesOrderID )FROM sales.salesOrderdetailGROUP BY SalesOrderID
9、 在窗体2中执行以下代码:
USE AdventureWorks2012GO SELECT SalesOrderID , SalesOrderDetailID , CarrierTrackingNumber , OrderQty , ProductID , SpecialOfferID , UnitPrice , UnitPriceDiscount , LineTotal , rowguid , ModifiedDateFROM sales.salesOrderdetailORDER BY SalesOrderIDGOSELECT SalesOrderID , SUM(LineTotal) , ROW_NUMBER() OVER ( ORDER BY SUM(LineTotal) DESC , SalesOrderID )FROM sales.salesOrderdetailGROUP BY SalesOrderID
10、 查看计数器图标:
扩充信息:
如果你想映射特定会话的工作负荷组,可以把sys.dm_exec_sessions和sys.dm_resource_governor_workload_groups关联,关联列为group_id,还能进一步关联sys.dm_resource_governor_workload_groups与sys.dm_resource_governor_resource_pools,关联列为pool_id。