熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> SQL Server >> 正文

淺談優化SQLServer數據庫服務器內存配置的策略

2013-11-15 14:36:27  來源: SQL Server 

  農業銀行總行年以來正式推廣了新版網絡版綜合業務統計信息系統該系統是基於WindowsNT平台采用客戶/服務器模式以Microsoft SQL Server為基礎建立起來的大型數據庫應用程序系統界面友好操作簡便計算分析檢索功能非常強大為保證農業銀行系統及時進行縱向和橫向業務數據采集按照不同要求生成統計報表進行全面業務活動分析提供了強有力的保障但在這套程序的推廣維護中筆者發現系統有時運行速度較慢特別是在Win客戶端操作時尤為嚴重經過排除網線連接等硬件可能帶來的影響後上述問題仍然存在筆者經過仔細摸索發現系統對硬軟件的要求較高為充分發揮設計效能達到最佳運作效果需要對計算機硬軟件系統進行較為完備的性能測試與最佳配置特別是內存配置的好壞對系統的運行速度具有決定性的作用下面筆者就如何優化SQLServer數據庫服務器的內存配置提出一些認識和看法
  
  一有關內存的基本概念
  
    物理內存與虛擬內存
    WindowsNT使用兩類內存物理內存與虛擬內存
    物理內存作為RAM芯片安裝在計算機內部的存儲器
    虛擬內存用於模擬RAM芯片功能的磁盤(硬盤)空間其實質是通過將內存中當前沒有使用的部分內容臨時存儲到磁盤上使系統可以使用到比機器物理內存更多的內存
    分頁和分頁文件
    WindowsNT系統通過使用磁盤空間使得對內存的需求得到部分緩解從而使用到比物理內存更多內存的技術就稱為交換或分頁也就是通常所說的虛擬內存技術通常Windows NT 系統安裝時將在引導驅動器上設置一個大小為MB的交換(分頁)文件(pagefilesys)
  
  二優化Windows NT 系統內存配置
  
    在大多數情況下為了充分發揮Windows NT 系統效能內存的作用比起處理器的處理能力更具有影響力特別是在客戶/服務器模式環境下更是如此因為通常在這種環境下並不十分強調處理器的能力相反卻十分注重是否采用足夠的內存來滿足各個客戶的應用需要此外為了獲得容錯功能和保護應用程序保證應用程序高速運行充分發揮設計功能都需要有足夠多的內存特別是工業繪圖設計和各種工程應用程序更需要占用大量的內存來進行復雜的計算
    物理內存(RAM)方便快速的優點顯而易見但由於其價格昂貴也就不可能做到多多益善了因此通過合理優化內存配置擴充虛擬內存提高計算機運算速度也就成了一項很重要的應用技術手段
    保證Windows NT系統基本內存需求
    Windows NT 系統至小應配置MB內存MB內存基本夠用正常情況下保證NT系統有MB內存就可以了因為並不是所有的MB基本內存在任何時候都被同時使用如果添加一些服務和應用程序則對內存的需求就會急劇增大
    ()添加網絡服務需要MB內存空間
    ()容錯功能和系統保護功能需要MB內存(如磁盤鏡像和分條功能)
    ()進行圖形圖象處理需要增加MB內存空間
    ()安裝VCVB開發系統需要增加MB內存空間
    另外如在Windows NT上構建大型數據庫如SYBASEMicrosoft SQL Server等對內存的需求就更多了
    優化內存性能
    為了使WindowsNT不至於過分占用較多的內存或者浪費處理器的時間用於換頁可以采用以下方法優化內存性能
    ()減少顯示顏色的數量
    ()降低顯示分辨率
    ()盡可能不使用或使用位寬度較小的牆紙
    ()關閉不需要的服務程序或驅動程序盡量不要在服務器上使用其它應用程序
    停用服務或驅動程序的操作步驟如下
    ①確定需要停用的服務或驅動程序的名稱
    ②從控制面板中雙擊服務設備圖標
    ③在列表中選擇想要停用的服務或設備驅動程序的名稱單擊停止按鈕這時出現確認操作對話框
    ④選擇確認操作然後關閉對話框完成設置
    優化虛擬內存
    在對Windows NT虛擬內存進行設置時需要合理確定各個驅動器分頁文件的起始大小最大值兩個參數它們用於指定分頁文件的起始空間和最大空間下面對這兩個參數作一些解釋
    起始大小指初始創建該分頁文件時的文件大小單位為MB根據缺省設置這個值被設置為系統中的物理內存的大小
    最大值指出該分頁文件的最大尺寸單位為MB
    ()分頁文件的設置原則
    ①分頁文件起始大小應保留缺省設置一般情況下請不要改動
    ②分頁文件理想的最大尺寸為系統物理內存尺寸的倍至需要說明的是如果系統工作時不需要大量內存請選擇靠近下限的值即用系統物理內存的倍作為這個尺寸的起始值如果系統工作時需要大量內存請選擇靠近上限的值
    ()Windows NT虛擬內存設置步驟
    ①從控制面板中雙擊系統圖標
    ②在系統特性對話框中單擊性能標簽
    ③在虛擬內存對話框中單擊更改按鈕這時出現虛擬內存對話框上端的驅動器框逐一列出了 Windows NT所有頁面文件的大小
    ④在驅動器列表中選擇需要設置分頁文件的驅動器盤符驅動器頁面文件大小對話框中列出了 起始大小最大值兩個參數欄填入按照上面的原則確定的數值
    ⑤單擊設置確認以上操作然後依次單擊確定按鈕退出各個對話框完成設置
    ()Win虛擬內存設置
    Win虛擬內存設置方法步驟和原則與Windows NT 的設置大致相同請參照上面Windows NT的設置
    注意事項
    ()合理確定分頁文件的最大值根據系統需求隨時進行調整使用過多虛擬內存將導致整個系統處理性能的下降設置虛擬內存最大值的目的是使用戶不必在WindowsNT的交換文件上消耗過多的磁盤空間通常情況下如果超過了系統需要的最佳值後生成交換文件的磁盤空間就被浪費了
    ()盡可能設立專用硬盤配置內存交換區或將交換空間放到主硬盤的另一個分區同時應將主硬盤的交換文件大小降至MB這樣主硬盤(分區)僅用來放置操作系統和應用程序就可以減少交換次數防止頻繁交換耗費大量 CPU時間
    ()虛擬內存技術的確改善了Windows NT系統的性能但也受到機器硬盤空間大小硬盤速度處理器 (CPU)速度的影響從理想角度出發要提高計算機的性能就必須減少交換操作的次數但是沒有一個WindowsNT計算機不發生交換這就要求計算機要有足夠的物理內存以保持最少的交換操作
  
  三優化Microsoft SQL Server數據庫內存配置
  
    內存是影響Microsoft SQL Server系統性能的一個重要因素SQL Server數據庫安裝時將為具有MB物理內存的機器缺省配置MB可用內存MB物理內存的機器缺省配置MB可用內存應在Microsoft SQL Server數據庫安裝後進行內存選項(Memory)設置最大配置值為GB
    為了確定SQL Server系統最適宜的內存需求可以從總的物理內存中減去Windows NT需要的內存以及其它一些內存需求後綜合確定理想的情況是給SQL Server分配盡可能多的內存而不產生頁面調度
    根據物理內存合理規劃SQL Server可用內存
    在大多數的生產環境中服務器配備的物理內存是MB~MB偶爾也有MB的只要配置恰當是完全可以滿足SQL Server的內存需求的下表是筆者關於SQL Server內存分配的建議規劃供參考
  
  
  物理內存 分配給SQL Server 設置值(單位KB)
  MB MB
  MB MB
  MB MB
  MB MB
  MB MB
  MB MB
  MB MB
  MB MB
  
    以下是SQL Server內存選項(Memory)設置方法
    ()從Microsoft SQL Server程序集中啟動SQL Enterprise Manager
    ()從Server Manager窗口中選擇Server菜單選項
    ()在Server菜單中選擇Configurations選項
    ()在Server Configuration對話框中選擇Configuration標簽Configuration窗口顯示配置選項列表
    ()選中Memory項目Current欄填入新值
    ()停止並重新啟動SQLServer服務使設置生效
    合理擴充虛擬內存增大SQL Server可用內存
    當SQL Server系統確實需要擴大可用內存時應在磁盤空間充足的情況下擴充供虛擬內存並相應增大 SQL Server可用內存具體做法是系統管理員首先擴充服務器的虛擬內存然後再參考上表增大SQL Server可用內存關鍵是要根據系統的負載情況綜合決定是否擴充內存優化配置
    使用tempinRAM
    SQL Server使用tempdb臨時數據庫作為一些查詢連接操作時排序或創建臨時表的工作空間將tempdb創建在RAM中可以使系統操作性能有較大提高而且因為tempdb在每次重啟動服務器時都重建這樣即使有非正常的關閉也是較為安全的例如停電故障要將tempdb創建在RAM中可以使用sp_configure進行設置具體用法請參閱有關資料
    由於tempdbinRAM使用的內存是由系統從內存體單獨分配的與SQL Server的內存選項設置的可用內存池是分開的使用tempdbin RAM將減少整個系統的可用內存應根據SQL Server和服務器運行情況進行配置否則就可能適得其反影響系統性能另外適當增加tempdb數據庫空間即使不使用temp
From:http://tw.wingwit.com/Article/program/SQLServer/201311/22052.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.