婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 如何在SQL Server 2014中用資源調(diào)控器壓制你的存儲?

如何在SQL Server 2014中用資源調(diào)控器壓制你的存儲?

熱門標(biāo)簽:廣州人工電銷機(jī)器人費用 400外呼系統(tǒng)合法 電銷機(jī)器人被曝光 地圖標(biāo)注一個圓圈怎么用 真人語音電銷機(jī)器人 怎樣把地圖標(biāo)注導(dǎo)入公司地址 如何在地圖標(biāo)注自己店鋪 寧波人工外呼系統(tǒng)有效果嗎 洛陽外呼系統(tǒng)平臺

在今天的文章里,我想談下SQL Server 2014里非常酷的提升:現(xiàn)在你終于可以根據(jù)需要的IOPS來壓制查詢!資源調(diào)控器(Resource Governor)自SQL Server 2008起引入,但提供的功能還是有所限制:你只能限制CPU時間(這個已經(jīng)很棒了),還有你能限制查詢(從每個獨立的查詢)內(nèi)存量。

但作為DBA的你,你經(jīng)常會進(jìn)行一些數(shù)據(jù)庫維護(hù)操作,例如索引重建,DBCC CHECKDB操作等。我們都知道,這些操作會在你的存儲里帶來大量的IOPS直至峰值。如果在7 * 24在線的數(shù)據(jù)庫來說,這個會影響你的生產(chǎn)力,給業(yè)務(wù)和銷售額帶來很大影響。

自SQL Server 2014開始,這個情況就變了,因為你可以通過資源調(diào)控器來部署指定的資源池來限制IOPS使用率。當(dāng)你隔離你的DBA操作到指定的資源池時,你能指定資源池可以使用的最大IOPS(包括最小IOPS)。因此你可以壓制下DBA操作需要的IOPS。你的生產(chǎn)工作量就可以更好的使用你的存儲。更多信息可以查看微軟在線幫助。

我想用一個非常簡單的例子來展示下這個行為。假設(shè)你是DBA,正要進(jìn)行常規(guī)索引重建操作,這個需要通過資源調(diào)控器對它們的最大IOPS使用率進(jìn)行控制。第1步我們?yōu)镈BA操作創(chuàng)建專用的資源池和工作負(fù)荷組。

-- Create a new Resource Pool for the DBAs.
-- We use a very high value for MAX_IOPS_PER_VOLUME so that we are
-- currently running unlimited.
CREATE RESOURCE POOL DbaPool WITH
(
 MAX_IOPS_PER_VOLUME = 100000
 )
GO

-- Create a new Workload Group for the DBAs
CREATE WORKLOAD GROUP DbaGroup
USING DbaPool
GO

從剛才的代碼可以看到,CREATE RESOURCE POOL語句現(xiàn)在為你提供MAX_IOPS_PER_VOLUME屬性(包括MIN_IOPS_PER_VOLUME)。這里我設(shè)置了一個很高的值,因此在第一次執(zhí)行時IOPS不會受限,這里我們根據(jù)需要的IOPS建立了初始基線。下一步我會創(chuàng)建資源調(diào)控器需要的分類函數(shù)。

-- Create a new Classifier Function for Resource Governor
CREATE FUNCTION dbo.MyClassifierFunction()
RETURNS SYSNAME WITH SCHEMABINDING
AS
BEGIN
DECLARE @GroupName SYSNAME
 
IF SUSER_NAME() = 'DbaUser'
BEGIN
SET @GroupName = 'DbaGroup'
END
ELSE
BEGIN
SET @GroupName = 'Default'
END
 
RETURN @GroupName;
END
GO

在分類函數(shù)里我們根據(jù)登錄進(jìn)行評估。如果登錄是DbaUser,進(jìn)入的會話會在DbaGroup工作負(fù)荷組里。否則就進(jìn)入默認(rèn)的工作負(fù)荷組。最后我們在資源調(diào)控器注冊并配置它,這樣我們的設(shè)置就生效了。

-- Register the Classifier Function within Resource Governor
ALTER RESOURCE GOVERNOR WITH
(
 CLASSIFIER_FUNCTION = dbo.MyClassifierFunction
 )
GO

-- Reconfigure Resource Governor
ALTER RESOURCE GOVERNOR RECONFIGURE
GO

現(xiàn)在當(dāng)你創(chuàng)建名為DbaUser的登錄時,你可以用它連接到你的SQL Server。你可以在DMV sys.dm_exec_sessions 看下 group_id列驗證下到來的會話是否在正確的工作負(fù)荷組里。下一步我在ContoRetailDW數(shù)據(jù)庫的FactOnlineSales表里的DataKey里創(chuàng)建一個非聚集索引。

-- Create a simple Non-Clustered Index
CREATE NONCLUSTERED INDEX idx_DateKey ON FactOnlineSales(DateKey)
GO

我們從開始就創(chuàng)建了資源池,現(xiàn)在在我們在我們的資源池里并沒有限制。因此當(dāng)我們現(xiàn)在進(jìn)行剛才創(chuàng)建的非聚集索引的索引重建時,SQL Server會占用大量的IOPS。我們可以通過性能監(jiān)控里的“SQL Server:Resource Pool Stats:Disk Write IO/Sec”性能計數(shù)器來驗證剛才創(chuàng)建的資源池。

ALTER INDEX idx_DateKey ON FactOnlineSales REBUILD
GO

可以看到索引重建花費近100的IOPS。接下來我要做的是限制DbaPool資源池為僅50的IOPS:

-- Let's change the Resource Pool by lowering the maximum IOPS.
ALTER RESOURCE POOL DbaPool WITH
(
 MAX_IOPS_PER_VOLUME = 50
 )
GO

現(xiàn)在當(dāng)你執(zhí)行索引重建時,在性能監(jiān)視器里可以清楚看到,在特定的資源池里只有平均50 IOPS。

另外Disk Write IO Throttled/sec性能計數(shù)器也會告訴為你資源調(diào)控器的IOPS的限制數(shù)。

使用以前的資源調(diào)控器,查詢本身毫無辦法,它是否被壓制了。這對性能調(diào)優(yōu)也是個非常重要的因素。當(dāng)啟用資源調(diào)控器時,沒有特定的等待類型出現(xiàn)在SQL Server里。我的測試顯示一旦資源調(diào)控器啟用時,有更多的PAGEIOLATCH_SH/PAGEIOLATCH_EX等待類型,這就對了。下面2個圖片顯示了對于發(fā)生索引重建的會話里具體的等待類型信息——第1個沒有資源調(diào)控器,第2個有資源調(diào)控器壓制了IOPS。

從2個圖中可以看到,2個運行的測試有巨大的區(qū)別,尤其是在PAGEIOLATCH_EX SOS_SCHEDULER_YIELD等待類型。

從我站在IOPS壓制來看,對于已有的功能來說,資源調(diào)控器是個很好的附加,這讓資源調(diào)控器更加成熟。

大家可以嘗試用這個新功能解決IOPS方面的問題。

以上所述就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助。

您可能感興趣的文章:
  • SQL Server誤區(qū)30日談 第22天 資源調(diào)控器可以調(diào)控IO

標(biāo)簽:南昌 珠海 石家莊 東營 煙臺 北海 晉中 咸寧

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《如何在SQL Server 2014中用資源調(diào)控器壓制你的存儲?》,本文關(guān)鍵詞  如,何在,SQL,Server,2014,中用,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《如何在SQL Server 2014中用資源調(diào)控器壓制你的存儲?》相關(guān)的同類信息!
  • 本頁收集關(guān)于如何在SQL Server 2014中用資源調(diào)控器壓制你的存儲?的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 青龙| 乾安县| 鄂尔多斯市| 微博| 斗六市| 牟定县| 大姚县| 孝义市| 苏尼特左旗| 双桥区| 房山区| 泸溪县| 华坪县| 胶南市| 阜新市| 涟源市| 洪泽县| 友谊县| 如皋市| 灵石县| 封丘县| 枣庄市| 灵宝市| 滦南县| 海兴县| 新干县| 平果县| 类乌齐县| 新丰县| 柳江县| 宁远县| 兴山县| 双江| 大悟县| 天祝| 开原市| 禹城市| 汝南县| 定日县| 体育| 铜鼓县|