自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

SQL Server 2014使用資源調(diào)控器對IOPS控制

云計(jì)算
在SQLServer2008中引入了ResourceGovernor,通過對一些語句的CPU和內(nèi)存的資源限制瞻性的對多租戶的數(shù)據(jù)庫環(huán)境進(jìn)行有效管理。這個特性允許客戶實(shí)現(xiàn)數(shù)據(jù)庫的整合或者把數(shù)據(jù)庫配置為服務(wù)管理。但是隨著虛擬化和云技術(shù)的發(fā)展,IO的控制成為一個難題。在SQLServer2014中,我們根據(jù)客戶的請求,增加了對IO資源的控制來解決客戶遇到的問題。

SQLServer2008引入了ResourceGovernor,通過對一些語句的CPU和內(nèi)存的資源限制瞻性的對多租戶的數(shù)據(jù)庫環(huán)境進(jìn)行有效管理。這個特性允許客戶實(shí)現(xiàn)數(shù)據(jù)庫的整合或者把數(shù)據(jù)庫配置為服務(wù)管理。但是隨著虛擬化和云技術(shù)的發(fā)展,IO的控制成為一個難題。在SQLServer2014中,我們根據(jù)客戶的請求,增加了對IO資源的控制來解決客戶遇到的問題。

 

 

新特性:

 

  • ResourcePools在對CPU/Memory的控制基礎(chǔ)上增加了對卷(pervolumeDiskPartition邏輯分區(qū))的IOPs控制,可以針對卷設(shè)置***和最小的IOPS,從而實(shí)現(xiàn)更復(fù)雜的資源控制。

  • 可以對單個磁盤分區(qū)設(shè)置maximumoutstandingIO(在實(shí)例級別).使用這個特性可以更好的調(diào)整磁盤子系統(tǒng)的負(fù)載。

  • 澄清一下byvolume指的是diskvolume被windows文件系統(tǒng)識別的APIs.

  • 我們在DMVsys.dm_resource_governor_resource_poolssys.dm_resource_governor_configuration中新增了欄位可以查詢IO的使用和配置.另外我們新增加了DMVsys.dm_resource_governor_resource_pool_volumes,可以捕獲IO跨不同分區(qū)的使用情況。

  • 新增加了兩個新的XEvents(file_write_enqueued,file_read_enqueued),可以對于IO資源管理隊(duì)列的IO請求。

  • ***我們增加了性能監(jiān)視指標(biāo)SQLServer:ResourcePoolStats包括DiskReadIO/sec,DiskReadBytes/sec,AvgDiskReadIO(ms),DiskWriteIO/sec,DiskWriteBytes/sec,AvgDiskWriteIO(ms),DiskReadIOThrottled/sec,DiskWriteIOThrottled/sec等。

  •  

如何使用:

 

 

讓我們以下面的場景為例說明如何使用IO資源治理在一個SQL服務(wù)器實(shí)例上控制資源。

 

 

假設(shè)我們有一臺數(shù)據(jù)庫主機(jī)或者運(yùn)行在私有云上的整合數(shù)據(jù)庫,我們需要根據(jù)多個客戶的要求放多個數(shù)據(jù)庫,這樣可以實(shí)現(xiàn)資源的有效利用同時節(jié)省成本。如果客戶的一個數(shù)據(jù)庫運(yùn)行IO密集型的工作負(fù)載,這樣會導(dǎo)致整個磁盤的IO性能,從而影響其他用戶的操作。

 

 

***個我們會為每個客戶/數(shù)據(jù)庫創(chuàng)建一個資源池和一個可以將客戶會話映射到對應(yīng)資源池的分類器函數(shù)。例如,會話為客戶1可以被映射到資源池1,會話為客戶2到資源池2。

 

 

如果你想使用IO資源治理,重要的是對每一個資源池設(shè)定最小或大IOPS,以便IO請求定向到治理子系統(tǒng)。在下面的例子中,我們對每個資源池都設(shè)置MAX_IOPS_PER_VOLUME:

 

 

--Create2resourcepools&2workloadgroups.
CREATERESOURCEPOOLCustomer1Pool;
CREATERESOURCEPOOLCustomer2Pool;
GO

CREATEWORKLOADGROUPCustomer1GroupUSINGCustomer1Pool;
CREATEWORKLOADGROUPCustomer2GroupUSINGCustomer2Pool;
GO

--Createclassifierfunction
CREATEFUNCTIONfnUserClassifier()
RETURNSSYSNAME
WITHSCHEMABINDING
AS
BEGIN
IFORIGINAL_DB_NAME()='Customer1DB'
BEGIN
RETURN'Customer1Group'
END

IFORIGINAL_DB_NAME()='Customer2DB'
BEGIN
RETURN'Customer2Group'
END

RETURN'default'
END;
GO

--SettheclassifierfunctionandenableRG.
ALTERRESOURCEGOVERNORWITH(CLASSIFIER_FUNCTION=dbo.fnUserClassifier);
ALTERRESOURCEGOVERNORRECONFIGURE;
GO

--SetdefaultvaluesfortheresourcepoolssothatIORGisenabled.
ALTERRESOURCEPOOLCustomer1PoolWITH(MIN_IOPS_PER_VOLUME=0,MAX_IOPS_PER_VOLUME=2147483647);
ALTERRESOURCEPOOLCustomer2PoolWITH(MIN_IOPS_PER_VOLUME=0,MAX_IOPS_PER_VOLUME=2147483647);
ALTERRESOURCEGOVERNORRECONFIGURE;
GO

 

 

將每個工作負(fù)載分類到不同的資源池有助于我們根據(jù)每個用戶的使用情況配置資源限制,同時可以監(jiān)控用戶的工作復(fù)雜。下面的圖(性能監(jiān)視器)表明由于客戶1的大量IO請求導(dǎo)致了客戶2的性能下降:

 

 

SouthEast

 

為了保護(hù)客戶2的性能不受其他客戶的影響,我們對客戶2的資源池設(shè)置MIN_IOPS_PER_VOLUME從上面的圖表,看起來,系統(tǒng)可以處理大約1300IOPS,所以我們決定保留650IOPS給客戶2:

 

 

ALTERRESOURCEPOOLCustomer2PoolWITH(MIN_IOPS_PER_VOLUME=650);
ALTERRESOURCEGOVERNORRECONFIGURE;

GO

 

通過這個配置,SQLServer將會限制其他資源池的負(fù)載,從而滿足650IOPS給客戶2.下面的圖中,我們可以看到系統(tǒng)的IOPS被公平的分配到客戶,客戶2的性能沒有受其他客戶的影響。

 

SouthEast

 

 

MIN_IOPS_PER_VOLUMEsetting雖然可以讓資源池保留資源,但是不會限制***的IOPS.這就意味著性能仍然會根據(jù)其他客戶的使用情況變化,無法獲得穩(wěn)定性能。為了避免這個問題,保證可預(yù)測的性能,我們需要對每個客戶設(shè)置MAX_IOPS_PER_VOLUME。這將對客戶設(shè)置***的工作負(fù)載限制,一方面可以達(dá)到預(yù)測的性能,同時還會保護(hù)其他的客戶性能不受影響:

 

 

ALTERRESOURCEPOOLCustomer2PoolWITH(MAX_IOPS_PER_VOLUME=750)
ALTERRESOURCEGOVERNORRECONFIGURE
GO

 

 

通過對IO資源池的資源設(shè)定,我們可以控制每個客戶需要的資源。這可以保證性能不會受其他客戶的影響,同時也可以基于用戶的資源請求設(shè)定不同的SLA或者數(shù)據(jù)庫服務(wù)。

 

 

另一個場景是可以將OLTP工作負(fù)載與維護(hù)操作進(jìn)行隔離。比如重建索引是一種常見的操作,因?yàn)橐獟呙枵麄€索引或者表,會導(dǎo)致大量的IO請求。通過使用IO資源治理我們可以限制這些操作的IO復(fù)雜,從而保證OLTP的并發(fā)和性能不受影響。

 

可以提供下載downloadingtheSQLServer2014CTP2測試這個功能。

 

 

原文來自:http://blogs.technet.com/b/dataplatforminsider/archive/2013/11/07/io-resource-governance-in-sql-server-2014.aspx

譯文鏈接:http://lzf328.blog.51cto.com/1196996/1324689

責(zé)任編輯:王程程 來源: 51CTO專家博客
相關(guān)推薦

2011-01-20 10:33:30

Postfix

2014-04-02 10:23:35

SQL Server

2015-07-22 17:27:41

SQL SERVER 鏈接

2010-11-09 13:47:17

SQL Server資

2012-01-17 14:01:33

JavaSwing

2011-04-18 13:02:08

SQL Server SQL Server

2010-11-08 10:57:05

SQL Server的

2009-04-07 13:56:03

SQL Server觸發(fā)器實(shí)例

2010-07-21 14:04:12

SQL Server引

2010-07-15 15:15:48

SQL Server使

2021-03-05 00:06:12

Docker容器內(nèi)存

2015-10-21 17:10:00

SQL Server 備份與恢復(fù)數(shù)據(jù)庫升級

2010-07-05 14:20:29

2010-07-19 14:17:47

SQL Server內(nèi)

2010-07-07 13:18:13

SQL Server視

2015-03-30 12:54:55

SQL ServerSQL Server

2010-07-07 10:47:58

SQL Server索

2010-07-19 18:04:23

SQL Server鎖

2010-07-08 14:42:34

SQL Server臨

2014-04-11 10:06:55

微軟SQL Server BI
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號