接下去將使用兩個(gè)循環(huán)腳本,不斷更新數(shù)據(jù)庫,來測(cè)試效果
1. 創(chuàng)建RunQueries.sql腳本,代碼如下
IF OBJECT_ID ('t1') IS NOT NULL DROP TABLE t1; GO
CREATE TABLE t1 ( c1 INT IDENTITY, c2 VARCHAR (8000) DEFAULT (REPLICATE ('a', 8000))); CREATE CLUSTERED INDEX t1c1 ON t1 (c1); GO
SET NOCOUNT ON; GO DECLARE @count INT = 0; WHILE (@count < 1000) BEGIN INSERT INTO t1 DEFAULT VALUES; SET @count += 1; END; WHILE (1 = 1) ALTER INDEX t1c1 ON t1 REORGANIZE;
不斷更新Index以消耗資源
2. 創(chuàng)建RunQueries2.sql腳本,代碼如下
IF OBJECT_ID ('t2') IS NOT NULL DROP TABLE t2; GO
CREATE TABLE t2 ( c1 INT IDENTITY, c2 VARCHAR (8000) DEFAULT (REPLICATE ('a', 8000))); CREATE CLUSTERED INDEX t2c1 ON t2 (c1); GO
SET NOCOUNT ON; GO DECLARE @count INT = 0; WHILE (@count < 1000) BEGIN INSERT INTO t2 DEFAULT VALUES; SET @count += 1; END; WHILE (1 = 1) ALTER INDEX t2c1 ON t2 REORGANIZE;
與第一個(gè)腳本一樣,因?yàn)闇y(cè)試發(fā)現(xiàn),一個(gè)腳本消耗的資源不足以體現(xiàn)出9:1效果,所以同時(shí)運(yùn)行2個(gè)腳本。
3. 使用sqlcmd來運(yùn)行腳本(因?yàn)槭撬姥h(huán))
a) cd 腳本所在目錄
b) sqlcmd -S .\SQLDEV01 -d MarketingDB -iRunQueries.sql
通過sqlcmd運(yùn)行腳本 –S 指定使用的SQL實(shí)例 -d 指定使用數(shù)據(jù)庫 -i 指定運(yùn)行腳本
分別使用4個(gè)sqlcmd運(yùn)行4分腳本,直接給出sqlcmd命令(注意替換SQL實(shí)例名稱)
sqlcmd -S .\SQLDEV01 -d MarketingDB -iRunQueries.sql
sqlcmd -S .\SQLDEV01 -d DevelopmentDB -i RunQueries.sql
sqlcmd -S .\SQLDEV01 -d MarketingDB -i RunQueries2.sql
sqlcmd -S .\SQLDEV01 -d DevelopmentDB -i RunQueries2.sql
4. 觀察Performance中曲線的變化,如下所示則操作成功
可以看到,CPU使用趨于 1:9 Resource Governor 成功應(yīng)用了
備注:
Resource Governor 能夠自動(dòng)判斷資源分配比例,如果沒有競(jìng)爭(zhēng)資源池的話,那么會(huì)分配100%資源應(yīng)用,如果競(jìng)爭(zhēng)激烈,會(huì)按照比例分配。從而使得各個(gè)資源池中的對(duì)象都能夠使用一定的服務(wù)器資源完成自己的工作,從而可以使得我們預(yù)測(cè)系統(tǒng)的最差情況,增強(qiáng)對(duì)數(shù)據(jù)庫的管理性。
原文:http://www.cnblogs.com/lanwilliam/archive/2009/04/07/1431169.html
本文鏈接:http://www.95time.cn/tech/program/2009/6593.asp
出處:哈利路亞
責(zé)任編輯:bluehearts
上一頁 SQL Server2008 Resource Governor [4] 下一頁
◎進(jìn)入論壇網(wǎng)絡(luò)編程版塊參加討論
|