top
Loading...
詳細介紹優化SQLServer2000的設置

優化SQL Server 2000的設置

SQL Server已經為了優化自己的性能而進行了良好的配置,比今天市場其他的關系型數據庫都要好得多。然而,你仍然有幾項設置需要進行修改,以便你的數據庫每分鐘可以處理更多的事務(TPM)。本篇文章的目的就是討論這些設置。我們忽略那些可以通過硬件配置或者表或者索引設計提高的性能,因為這些內容在本篇文章范圍之外。

破碎頁面檢測

在我們開始討論服務器配置開關之前,讓我們快速瀏覽一下你的模型數據庫——或者說用作構建新的數據庫的基礎的模板。默認情況下,你可以在數據庫中創建存儲過程、函數等類似的東西,隨后他們將會被加入新創建的數據庫中。

要優化性能,你也許想要關閉模型數據庫中的破碎頁面檢測。當一個頁面被成功寫入磁盤的時候,破碎頁面檢測進行識別。如果激活了的話,你可以看到每個寫操作對性能產生的每個細小的影響。大多數現代的磁盤陣列都有板上電池,使得陣列可以在突然斷電的情況下完成所有的寫操作——引起破碎頁面的最頻繁原因。

以下的步驟可以接受如何關閉破碎頁面檢測:

exec sp_dboption 'model', 'torn page detection', 'false'

這篇基礎知識資源可以為你提供更多有關這個設置的信息。

 

服務器配置

大多數的配置是通過系統存儲過程sp_configure完成的。要顯示服務器的全部設置列表以便定制,你可以輸入如下命令:

sp_configure 'show advanced options', 1

GO

RECONFIGURE WITH OVERRIDE

你可以配置的選項的數量根據你的SQL Server的版本、服務包,以及位數版本(64位的SQL Server比32位的選項要多)而定。我將直接討論最能影響SQL Server性能優化的選項。

Affinity mask: Affinity mask讓你可以控制SQL Server使用哪個處理器。對于大多數情況,你不應該接觸這個設置,讓操作系統控制處理器關系。然而,你也許想要用這個選項來將某個處理器專門用于另一個進程(例如,MSSearch 或者 SQL Server磁盤 IO ,以及 SQL Server的平衡)。參考基礎知識資源獲取更多有關這個設置的信息。

Awe enabled: Awe的啟動可以讓SQL Server Enterprise版本運行在Windows 2000以及以上高級服務器上,或者Windows 2003 Enterprise以及以上的版本使用超過4GB的內存。如果你的服務器符合這些條件的話,就激活這個設置吧。

并行成本極限:當查詢需要進行并行處理的時候,并行的成本極限就定下來了。默認情況是五秒鐘。將這個數值改為稍低的數值,俄可以讓更多個查詢獲得并行處理,但是這也會引起CPU瓶頸。這個設置只有在多個處理器的機器上才會起作用。

填充因子:填充因子設置了在創建聚簇索引的時候用來自動填充的因子。在頻繁插入的表中,將數值從默認的90%設置為較低的數值,你會獲得收益。

輕量級緩沖池:這個設置啟動了光纖模式。使用這個選項在CPU利用率很高的8路及其以上的服務器上。這可以讓光纖同時為每個線程提供服務,同時在默認情況下運行在每個處理器上。某些任務可以從這些光纖中獲得優勢。

并行的最大程度:當服務器可以使用并行或者不能使用并行,或者是當某個數量的處理器可以用于并行操作的時候,這個設置就確定了。并行就是多個處理器上發生多個處理。例如,查詢的并行操作可以在不同的處理器上同時處理。

服務器最大內存(MB):如果你在SQL Server上運行了其他的處理,并且有足夠的內存,那么你有可能想要留出512MB的內存給操作系統和這些進程。例如,你可以在MSSearch或者在本地運行大量的代理的情況下將其設置為512。

最大工作線程:最大工作線程設置與ADO.net中的連接池有些類似。通過這個設置,任何超過限制(255個用戶)的用戶連接都可以在線程池中等待,直到為某個連接服務的線程得到釋放,就好像是ADO.net中的連接與連接池共享。如果你有很大量的連接,并且大量的內存,那么你就可以提高這個數值。

網絡包尺寸(B):這個設置控制了網絡中傳輸到你的客戶端的包的尺寸。在有損耗的網絡中(例如電話線),你可能想要將這個參數設置為比較低的數值,墨人數值是4096。在連接良好的網絡中,你可以提高這個設置,特別是涉及BLOB的大型批處理操作。

優先推進:這個設置為SQL Server提供了處理器的推動。在任務管理器中,點擊進程標簽,定位SQL Server的位置,然后右擊它。選擇“設置優先級別”。注意,SQL Server應該運行在正常的優先級別上。輸入如下命令:

Sp_configure 'priority boost', 1

Reconfigure with override

然后重新啟動你的SQL Server。在任務管理器中察看SQL Server現在運行在什么優先級別上。它應該是在高優先級上。SQL Server應該比其他的用戶進程運行優先級別要高。在專用于SQL Server的服務器上使用這個設置。

總結

本篇討論了最常見的SQL Server優化設置。在做出改變之前和之后分別在測試環境中進行基線確定是非常重要的,可以據此來評估在典型的負載下,改變對你的系統的影響。

(t114)
作者:http://www.zhujiangroad.com
來源:http://www.zhujiangroad.com
北斗有巢氏 有巢氏北斗