通過內(nèi)存配置來優(yōu)化SQL Server的性能的方法
當前位置:點晴教程→知識管理交流
→『 技術(shù)文檔交流 』
Microsoft SQL Server 2000 的內(nèi)存管理組件消除了對 SQL Server 可用的內(nèi)存進行手工管理的需要。SQL Server 在啟動時根據(jù)操作系統(tǒng)和其它應(yīng)用程序當前正在使用的內(nèi)存量,動態(tài)確定應(yīng)分配的內(nèi)存量。當計算機和SQL Server 上的負荷更改時,分配的內(nèi)存也隨之更改。有關(guān)更多信息,請參見內(nèi)存構(gòu)架。 下列服務(wù)器配置選項可用于配置內(nèi)存使用并影響服務(wù)器性能:
min server memory 服務(wù)器配置選項可用于確保 SQL Server 至少以最小的分配內(nèi)存量啟動,并且內(nèi)存低于該值時不會釋放內(nèi)存??梢曰?SQL Server 的大小及活動將該配置選項設(shè)置為特定的值。始終將 min server memory 服務(wù)器配置選項設(shè)置為某個合理的值,以確保操作系統(tǒng)不向 SQL Server 請求太多內(nèi)存而影響 SQL Server 性能。 max server memory 服務(wù)器配置選項可用于:在 SQL Server 啟動及運行時,指定 SQL Server 可以分配的最大內(nèi)存量。如果知道有多個應(yīng)用程序與 SQL Server 同時運行,而且想保障這些應(yīng)用程序有足夠的內(nèi)存運行,可以將該配置選項設(shè)置為特定的值。如果這些其它應(yīng)用程序(如 Web 服務(wù)器或電子郵件服務(wù)器)只根據(jù)需要請求內(nèi)存,則 SQL Server 將根據(jù)需要給它們釋放內(nèi)存,因此不要設(shè)置 max server memory 服務(wù)器配置選項。然而,應(yīng)用程序通常在啟動時不假選擇地使用可用內(nèi)存,而如果需要更多內(nèi)存也不請求。如果有這種行為方式的應(yīng)用程序與 SQL Server 同時運行在相同的計算機上,則將 max server memory 服務(wù)器配置選項設(shè)置為特定的值,以保障應(yīng)用程序所需的內(nèi)存不由 SQL Server 分配出。 不要將 min server memory 和 max server memory 服務(wù)器配置選項設(shè)置為相同的值,這樣做會使分配給 SQL Server 的內(nèi)存量固定。動態(tài)內(nèi)存分配可以隨時間提供最佳的總體性能。有關(guān)更多信息,請參見服務(wù)器內(nèi)存選項。 max worker threads 服務(wù)器配置選項可用于指定為用戶連接到 SQL Server 提供支持的線程數(shù)。255 這一默認設(shè)置對一些配置可能稍微偏高,這要具體取決于并發(fā)用戶數(shù)。由于每個工作線程都已分配,因此即使線程沒有正在使用(因為并發(fā)連接比分配的工作線程少),可由其它操作(如高速緩沖存儲器)更好地利用的內(nèi)存資源也可能是未使用的。一般情況下,應(yīng)將該配置值設(shè)置為并發(fā)連接數(shù),但不能超過 1,024。有關(guān)更多信息,請參見max worker threads 選項。 說明當 SQL Server 運行在 Microsoft Windowsreg; 95 或 Microsoft Windows 98 上時,最大工作線程服務(wù)器配置選項不起作用。 index create memory 服務(wù)器配置選項控制創(chuàng)建索引時排序操作所使用的內(nèi)存量。在生產(chǎn)系統(tǒng)上創(chuàng)建索引通常是不常執(zhí)行的任務(wù),通常調(diào)度為在非峰值時間執(zhí)行的作業(yè)。因此,不常創(chuàng)建索引且在非峰值時間時,增加該值可提高索引創(chuàng)建的性能。不過,最好將 min memory per query 配置選項保持在一個較低的值,這樣即使所有請求的內(nèi)存都不可用,索引創(chuàng)建作業(yè)仍能開始。有關(guān)更多信息,請參見 index create memory 選項。 min memory per query 服務(wù)器配置選項可用于指定分配給查詢執(zhí)行的最小內(nèi)存量。當系統(tǒng)內(nèi)有許多查詢并發(fā)執(zhí)行時,增大 min memory per query 的值有助于提高消耗大量內(nèi)存的查詢(如大型排序和哈希操作)的性能。不過,不要將 min memory per query 服務(wù)器配置選項設(shè)置得太高,尤其是在很忙的系統(tǒng)上,因為查詢將不得不等到能確保占有請求的最小內(nèi)存、或等到超過 query wait 服務(wù)器配置選項內(nèi)所指定的值。如果可用內(nèi)存比執(zhí)行查詢所需的指定最小內(nèi)存多,則只要查詢能對多出的內(nèi)存加以有效的利用,就可以使用多出的內(nèi)存。 該文章在 2011/3/15 9:00:05 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |