3.10 資源監控器
SQL Server 2008中新的資源監控器使你可以控制分配給你的關系型數據庫工 作負載不同部分的CPU和內存資源的數量。它可以用來防止失控查詢(它阻止資源分配給其它工作負載)以 及為你的工作負載重要部分預留資源。SQL Server 2005資源策略平等地對待所有的工作負載,並按需分 配共享資源(例如,CPU帶寬、內存)。這有時會引起資源分配不按比例,從而導致性能不均衡或意料外的 速度降低。
資源監控器的首要目標如下所示:
a. 監控:使得可以監控每組請求的資源消 耗(工作負載分組)。
b. 可預測性:使得能夠對存在資源競爭的環境中預測工作負載的執行。這是 通過顯示制定工作負載間的資源邊界來完成的(通過資源池控制)。資源邊界的使用還能防止或降低查詢失 控的可能性。資源監控器所提供的監控功能使得更容易發現失控查詢。
c. 優先級:使得可以設置 工作負載優先級。
要理解資源監控器,有三個新的概念是很重要的:工作負載分組、資源池、分 類(和分類器用戶定義的函數)。
◆組:一個工作負載組,或組,是一個用戶指定的請求分類,它 與應用於每一個請求的分類規則類似。組的值存在於資源消耗聚合監控和一個用於組內所有請求的統一政 策中。組定義了用於它的成員的政策。
◆池:一個資源池,或池,它顯示了服務器一部分物理資 源。根據它的設置,池可以有固定大小(每一個的最大和最小資源使用設置是相等的)或者在多個池之間共 享一部分(它的最小小於它可用的最大設置)。在這種情形下,共享只是意味著資源提供給最先請求資源的 池。在默認配置下,所有的資源都是共享的,因此維護向後兼容SQL Server 2005政策。
分類:分 類是一組用戶編寫的規則,使得資源監控器可以將請求分類到之前描述的組裡面。它是通過一個梯度 Transact-SQL用戶定義的函數(UDF)來執行的,UDF旨在作為資源監控器的一個“分類器UDF” 。
這些概念在下面的圖片裡進行了描述。
圖5: 資源監控器例子 :請求、分類、組,以及池
資源監控器可以用在沒有任何應用程序改動的情況下。