前言:
在对每个应用程序配置了资源调控器之后,需要监控资源调控器。可能需要监控资源池的使用和多少个请求被分配到特定的资源池。也可能希望监控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 AdventureWorks2012
GO
SELECT SalesOrderID ,
SalesOrderDetailID ,
CarrierTrackingNumber ,
OrderQty ,
ProductID ,
SpecialOfferID ,
UnitPrice ,
UnitPriceDiscount ,
LineTotal ,
rowguid ,
ModifiedDate
FROM sales.salesOrderdetail
ORDER BY SalesOrderID
GO
SELECT SalesOrderID ,
SUM(LineTotal) ,
ROW_NUMBER() OVER ( ORDER BY SUM(LineTotal) DESC , SalesOrderID )
FROM sales.salesOrderdetail
GROUP BY SalesOrderID
9、 在窗体2中执行以下代码:
USE AdventureWorks2012
GO
SELECT SalesOrderID ,
SalesOrderDetailID ,
CarrierTrackingNumber ,
OrderQty ,
ProductID ,
SpecialOfferID ,
UnitPrice ,
UnitPriceDiscount ,
LineTotal ,
rowguid ,
ModifiedDate
FROM sales.salesOrderdetail
ORDER BY SalesOrderID
GO
SELECT SalesOrderID ,
SUM(LineTotal) ,
ROW_NUMBER() OVER ( ORDER BY SUM(LineTotal) DESC , SalesOrderID )
FROM sales.salesOrderdetail
GROUP 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。