時(shí)間:2024-03-07 21:27作者:下載吧人氣:20
一. 概述
我們知道在操作系統(tǒng)看來, sql server產(chǎn)品與其它應(yīng)用程序一樣,沒有特別對(duì)待。但內(nèi)存,硬盤,cpu又是數(shù)據(jù)庫系統(tǒng)最重要的核心資源,所以在sql server 2005及以后出現(xiàn)了SQLOS,這個(gè)組件是sqlserver和windows的中間層,用于CPU的任務(wù)調(diào)度,解決I/O的資源爭(zhēng)用,協(xié)調(diào)內(nèi)存管理等其它的資源協(xié)調(diào)工作。下面我來試著講講SQLOS下的Scheduler調(diào)度管理。話不多說了,來一起看看詳細(xì)的介紹吧。
二. CPU 的配置
在Sql server 里點(diǎn)擊數(shù)據(jù)庫實(shí)例右鍵到屬性,選擇處理器進(jìn)行配置。最大工作線程數(shù)的默認(rèn)值是0 (注意這里配置的是worker它是對(duì)CPU的真正封裝)。這使得SQL Server能夠在啟動(dòng)時(shí)自動(dòng)配置工作線程的數(shù)量。默認(rèn)設(shè)置對(duì)于大多數(shù)系統(tǒng)是最好的。但是,根據(jù)您的系統(tǒng)配置,將最大工作線程數(shù)設(shè)置為一個(gè)特定的值有時(shí)會(huì)提高性能。當(dāng)查詢請(qǐng)求的實(shí)際數(shù)量小于最大工作線程數(shù)時(shí),一個(gè)線程處理一個(gè)查詢請(qǐng)求。但是,如果查詢請(qǐng)求的實(shí)際數(shù)量超過最大線程量時(shí),SQLServer會(huì)將Worker Threads線程池化,以便下一個(gè)可用的工作線程可以處理請(qǐng)求。
配置如下圖所示:
也可以通過T-sql配置,下例通過sp_configure將max worker線程選項(xiàng)配置為900
USE AdventureWorks2012 ;
GO
EXEC sp_configure ‘show advanced options’, 1;
GO
RECONFIGURE ;
GO
EXEC sp_configure ‘max worker threads’, 900 ;
GO
RECONFIGURE;
網(wǎng)友評(píng)論