優化sql server 2000的設定
sql server已經為了優化自己的效能而進行了良好的配置,比今天市場其他的關係型資料庫都要好得多。然而,你仍然有幾項設定需要進行修改,以便你的資料庫每分鐘可以處理更多的事務(tpm)。本篇文章的目的就是討論這些設定。我們忽略那些可以通過硬體配置或者表或者索引設計提高的效能,因為這些內容在本篇文章範圍之外。
破碎頁面檢測
在我們開始討論伺服器配置開關之前,讓我們快速瀏覽一下你的模型資料庫??或者說用作構建新的資料庫的基礎的模板。預設情況下,你可以在資料庫中建立儲存過程、函式等類似的東西,隨後他們將會被加入新建立的資料庫中。
要優化效能,你也許想要關閉模型資料庫中的破碎頁面檢測。當乙個頁面被成功寫入磁碟的時候,破碎頁面檢測進行識別。如果啟用了的話,你可以看到每個寫操作對效能產生的每個細小的影響。大多數現代的磁碟陣列都有板上電池,使得陣列可以在突然斷電的情況下完成所有的寫操作??引起破碎頁面的最頻繁原因。
以下的步驟可以接受如何關閉破碎頁面檢測:
exec sp_dboption 』model』, 』torn page detection』, 』false』
這篇基礎知識資源可以為你提供更多有關這個設定的資訊。
伺服器配置
大多數的配置是通過系統儲存過程sp_configure完成的。要顯示伺服器的全部設定列表以便定製,你可以輸入如下命令:
sp_configure 』show advanced options』, 1
goreconfigure 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瓶頸。這個設定只有在多個處理器的機器上才會起作用。
填充因子:填充因子設定了在建立聚簇索引的時候用來自動填充的因子。在頻繁插入的表中,將數值從預設的array0%設定為較低的數值,你會獲得收益。
輕量級緩衝池:這個設定啟動了光纖模式。使用這個選項在cpu利用率很高的8路及其以上的伺服器上。這可以讓光纖同時為每個執行緒提供服務,同時在預設情況下執行在每個處理器上。某些任務可以從這些光纖中獲得優勢。
並行的最大程度:當伺服器可以使用並行或者不能使用並行,或者是當某個數量的處理器可以用於並行操作的時候,這個設定就確定了。並行就是多個處理器上發生多個處理。例如,查詢的並行操作可以在不同的處理器上同時處理。
伺服器最大記憶體(mb):如果你在sql server上執行了其他的處理,並且有足夠的記憶體,那麼你有可能想要留出512mb的記憶體給作業系統和這些程序。例如,你可以在mssearch或者在本地執行大量的**的情況下將其設定為512。
網路包尺寸(b):這個設定控制了網路中傳輸到你的客戶端的包的尺寸。在有損耗的網路中(例如**線),你可能想要將這個引數設定為比較低的數值,墨人數值是40array6。在連線良好的網路中,你可以提高這個設定,特別是涉及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優化設定。在做出改變之前和之後分別在測試環境中進行基線確定是非常重要的,可以據此來評估在典型的負載下,改變對你的系統的影響。
MySQL索引優化之分頁探索詳細介紹
目錄 表結構create table demo id int 11 not null auto increment,name varchar 50 character set utf8mb4 collate utf8mb4 090www.cppcns.com0 ai ci not null defa...
robots txt詳細介紹
robots.txt基本介紹 當乙個搜尋機械人 有的叫搜尋蜘蛛 訪問乙個站點時,它會首先檢查該站點根目錄下是否存在robots.txt,如果存在,搜尋機械人就會按照該檔案中的內容來確定訪問的範圍 如果該檔案不存在,那麼搜尋機械人就沿著鏈結抓取。另外,robots.txt必須放置在乙個站點的根目錄下,...
nginx phases 詳細介紹
我們知道,nginx 請求分為下面幾個階段 下面對這些過程詳細介紹 一 ngx http post read phase do nothing 二 ngx http server rewrite phase do nothing 三 ngx http find config phase 根據請求的位...