第十九章——使用资源调控器管理资源(2)——使用T-SQL配置资源调控器
原文:第十九章——使用资源调控器管理资源(2)——使用T-SQL配置资源调控器
前言:
在前一章已经演示了如何使用SSMS来配置资源调控器。但是作为DBA,总有需要写脚本的时候,因为它可以重用及扩展。并且可以在不同服务器快速部署。
下面来演示如何实现:
步骤:
1、 打开ssms,连到SQLServer。确保登录账号有CONTROLSERVER的权限。
2、 运行下面脚本,删除前面创建过的资源调控器对象:
USE master
GO
DROP WORKLOAD GROUP rg_WebApp
DROP RESOURCE POOL rp_WebApp
DROP WORKLOAD GROUP rg_ReportApp
DROP RESOURCE POOL rp_ReportApp
GO
3、 现在执行语句来创建下面对象,此处的分类函数参考上一章:
USE master
GO CREATE RESOURCE POOL [rp_WebApp]
WITH
(
MIN_CPU_PERCENT=50,
MAX_CPU_PERCENT =100,
MIN_MEMORY_PERCENT =50,
MAX_MEMORY_PERCENT =100
)
GO CREATE WORKLOAD GROUP [rg_WebApp]
WITH
(
GROUP_MAX_REQUESTS=0,
IMPORTANCE=MEDIUM,
REQUEST_MAX_CPU_TIME_SEC=300,
REQUEST_MAX_MEMORY_GRANT_PERCENT=25,
REQUEST_MEMORY_GRANT_TIMEOUT_SEC=0,
MAX_DOP=0
)USING [rp_WebApp]
GO CREATE RESOURCE POOL [rp_ReportApp]
WITH
(
MIN_CPU_PERCENT=25,
MAX_CPU_PERCENT =100,
MIN_MEMORY_PERCENT =25,
MAX_MEMORY_PERCENT =100
)
GO CREATE WORKLOAD GROUP [rg_ReportApp]
WITH
(
GROUP_MAX_REQUESTS=0,
IMPORTANCE=MEDIUM,
REQUEST_MAX_CPU_TIME_SEC=300,
REQUEST_MAX_MEMORY_GRANT_PERCENT=25,
REQUEST_MEMORY_GRANT_TIMEOUT_SEC=0,
MAX_DOP=0
)USING [rp_ReportApp]
GO ALTER RESOURCE GOVERNOR
WITH (CLASSIFIER_FUNCTION=[dbo].[RGClassifier]
);
GO ALTER RESOURCE GOVERNOR RECONFIGURE
GO
4、 为了检查是否创建成功,可以通过DMV查询,这里用到下面两个DMV来查询:sys.dm_resource_governor_resource_pools 、sys.dm_resource_governor_workload_groups
SELECT pool_id ,
name
FROM sys.dm_resource_governor_resource_pools SELECT group_id ,
name ,
pool_id
FROM sys.dm_resource_governor_workload_groups
5、 从截图上可以看出已经创建成功:
上面的步骤可以通过ssms操作时,界面中上部的【脚本】按钮生成,但是由于ssms生成的T-SQL有些不是最优化的,所以如果你不是不懂,那就自己写吧。
扩充知识:
下面几个配置选项在本文中用到,简要说明一下:
1、 IMPORTANCE:定义工作负荷组中对请求处理的重要性,其值为LOW/MEDIUM/HIGH。
2、 GROUP_MAX_REQUESTS:定义在一个工作负荷组中最大并行执行的请求数量。
3、 MAX_DOP:在一个工作负荷组中并行请求的最大并行度。
4、 REQUEST_MAX_MEMORY_GRANT_PERCENT:对于一个工作负荷组中,一个单独的请求能用的最大内存数。
5、 REQUEST_MAX_CPU_TIME_SEC: 对于一个工作负荷组中,一个单独的请求可以使用的最大秒数。
6、 REQUEST_MEMORY_GRANT_TIMEOUT_SEC: 指定查询等待内存授予(工作缓冲区内存)变为可用的最长时间(以秒为单位)。
最新文章
- SQL谜题(加减符号替代)
- 用JavaScript输出表格
- 利用SpringAOP 实现 日志输出
- C++之通用队列模版
- 在ubuntu上搭建开发环境3---解决Y470一键系统重装之后恢复ubuntu引导启动的方法
- 后台管理UI推荐
- Android 5.0新特性了解(二)----RippleEffect
- 95秀-dialog 进度对话框 实用工具
- 1003 Crashing Balloon
- gpg-agent具体配置
- 使用AdvancedInstaller打包web工程设置tomcat端口的方法
- curl_escape --->; 使用URL 编码给定的字符串
- Redis基本数据类型以及String(一)
- 网站出现service unavailable的解决方法
- Linux指令--route
- Linq 对象的比较 Contains,Max
- 《ASP.NET Core In Action》读书笔记系列五 ASP.NET Core 解决方案结构解析1
- selenium js
- ECMAScript6 入门 Module
- LeetCode – Number of Islands