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