基于32位Windows2003的SQLSERVER數(shù)據(jù)庫服務(wù)器優(yōu)化_第1頁
基于32位Windows2003的SQLSERVER數(shù)據(jù)庫服務(wù)器優(yōu)化_第2頁
基于32位Windows2003的SQLSERVER數(shù)據(jù)庫服務(wù)器優(yōu)化_第3頁
基于32位Windows2003的SQLSERVER數(shù)據(jù)庫服務(wù)器優(yōu)化_第4頁
基于32位Windows2003的SQLSERVER數(shù)據(jù)庫服務(wù)器優(yōu)化_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、 HYPERLINK /zhjjfz/article/details/6443935 基于32位Windows2003的數(shù)據(jù)庫服務(wù)器優(yōu)化,啟用AWE,優(yōu)化SQL Server 最近幾天,筆者所在的單位中的一臺WEB服務(wù)器由于負載過大出現(xiàn)了問題,當(dāng)同時在線的用戶達到一定規(guī)模(2000-3000)時,頻繁出現(xiàn)頁面響應(yīng)遲緩、超時等問題。服務(wù)器采用的操作系統(tǒng)是Windows Server 2003企業(yè)版,數(shù)據(jù)庫系統(tǒng)是SQL Server 2005企業(yè)版。正當(dāng)大家考慮升級服務(wù)器時,筆者對服務(wù)器狀態(tài)進行了分析,并最終在未增加服務(wù)器硬件條件下找到了瓶頸、解決了問題?,F(xiàn)將分析、解決問題的過程與大家分享,希望能

2、幫助大家解決類似的問題。分析問題:通過對服務(wù)器檢查發(fā)現(xiàn),不僅服務(wù)器的HTTP請求響應(yīng)遲緩,就連在服務(wù)器本機操作和遠程桌面的操作中都有明顯“卡”的感覺。檢查任務(wù)管理器,發(fā)現(xiàn)此時的CPU占用率和內(nèi)存使用率并不高,沒有發(fā)現(xiàn)制約性能的地方,可是為什么系統(tǒng)這么慢呢?這時,我發(fā)現(xiàn)了服務(wù)器的硬盤燈狂閃不止,這下發(fā)現(xiàn)了病因,服務(wù)器在頻繁的訪問硬盤,而硬盤IO響應(yīng)時間和內(nèi)存相比是非常高的。利用SQL Server自帶的性能工具:SQL Server Profiler,打開其性能監(jiān)視器,我發(fā)現(xiàn)了Avg.Disk Queue Length(平均磁盤隊列)和Pages/Sec(每秒讀取的磁盤頁面數(shù))都很高,如圖1所示

3、,尤其是Avg.Disk Queue Length,已經(jīng)達到了萬級,而Pages/Sec也達到了60。正常的Avg Disk Queue Length值應(yīng)該是盤陣中磁盤數(shù)量的2倍,Pages/Sec也應(yīng)該維持在10以下(除了偶爾的峰值外)。圖1 SQL Server性能監(jiān)視解決問題:看來要想完全解決問題,就要分析數(shù)據(jù)庫頻繁訪問硬盤的原因。一般來講,SQL Server會充分利用內(nèi)存進行緩存,不會太過頻繁的訪問硬盤。而我們的問題是雖然負載較高,但內(nèi)存使用率并不高(僅僅使用了1.8G內(nèi)存)。服務(wù)器的內(nèi)存總數(shù)為12G,雖然IIS與其它應(yīng)用占用了一些內(nèi)存,但剩余的可用內(nèi)存仍然有8G左右,為什么SQL

4、Server不充分利用內(nèi)存而頻繁讀取硬盤呢?這里有一個很有意思的現(xiàn)象,微軟和我們開了個小玩笑,當(dāng)通過右鍵點擊“我的電腦”的屬性時,可以發(fā)現(xiàn)服務(wù)器正確識別了12G內(nèi)存,可這并不意味著它就能使用這么多內(nèi)存。Windows Server 2003企業(yè)版和Windows XP一樣都是32位操作系統(tǒng),受到32位內(nèi)存地址的制約,它們能使用的內(nèi)存通常不會超過4G,單個進程能使用的內(nèi)存甚至不能超過2G。但Windows XP的計算機屬性中會老老實實地告訴我們系統(tǒng)只識別到3G多內(nèi)存,而Windows Server 20003會識別所有內(nèi)存,但實際上它默認情況下無法使用那么多內(nèi)存。通過上網(wǎng)查詢,發(fā)現(xiàn)可以通過開啟W

5、indows 2003 Server的PAE功能以啟用大內(nèi)存支持。首先,找到C:/的boot.ini文件。在資源管理器中點擊“工具”-“文件夾選項”-“查看”,在高級設(shè)置中取消“隱藏受保護的操作系統(tǒng)文件”,并選擇“顯示所有文件和文件夾”。這樣我們就可以看到boot.ini文件了。用記事本打開它,找到類似于如下的行:multi(0)disk(0)rdisk(0)partition(1)/WINDOWS=Windows Server 2003, Enterprise /noexecute=optout /fastdetect /pae如上面一樣,在其末尾加上“/pae”選項,然后重新啟動服務(wù)器,這

6、樣便啟用了windows 2003 Server的大內(nèi)存支持。為了讓單進程使用內(nèi)存突破2G,我們還需要修改SQL Server的設(shè)置。首先應(yīng)該在系統(tǒng)中創(chuàng)建一個隸屬于管理員身份的用戶,然后在“開始”-“運行”中輸入“gpedit.msc”啟動組策略編輯器。找到“計算機設(shè)置”-“windows設(shè)置”-“安全設(shè)置”-“本地策略”-“用戶權(quán)限分配”,單擊該節(jié)點后在右邊找到“內(nèi)存中鎖定頁面”,雙擊后添加剛才建立的用戶。換用剛建立的用戶登錄系統(tǒng),點擊“開始”-“程序”-“管理工具”-“服務(wù)”,找到SQL Server服務(wù)。右擊“屬性”,點擊“登錄”選項卡,選擇“登錄身份”為“此賬戶”,確定下面文本框中的用

7、戶為當(dāng)前新建立的用戶并輸入正確的用戶密碼(如圖2),然后重新啟動SQL Server服務(wù)。這樣設(shè)置的目的是讓有“內(nèi)存中鎖定頁”權(quán)限的用戶來啟動SQL Server進程,這是使用大內(nèi)存支持的必要手段。圖2 用新賬戶啟動SQL Server服務(wù)重啟SQL Server后,使用SQL Server Management Studio連接到數(shù)據(jù)庫服務(wù)器,右鍵點擊服務(wù)器節(jié)點,選擇“屬性”,在對話框中找到“內(nèi)存”面板,勾選其中的“使用AWE分配內(nèi)存”(如圖3所示),然后按照服務(wù)器內(nèi)存情況正確設(shè)置最小和最大的內(nèi)存使用,單位為MB,本例中的內(nèi)存設(shè)置為最小4G最大6G,設(shè)置完成后再次重新啟動SQL Server

8、,即可生效。圖3 開啟AWE,設(shè)置內(nèi)存使用經(jīng)過這樣的設(shè)置后,單位的服務(wù)器同時在線5000人也沒有再發(fā)生超時或遲緩的現(xiàn)象,查看SQL Server Profiler的性能監(jiān)視器,其Avg Disk Queue Length和Pages/Sec也降低到0左右(除了峰值),服務(wù)器運轉(zhuǎn)恢復(fù)正常。注意事項:1.問題的根源在于32位系統(tǒng)訪問內(nèi)存的限制,導(dǎo)致應(yīng)用程序不能充分使用內(nèi)存,如果系統(tǒng)是64位的話,則沒有這樣的問題,而在微軟的32位系統(tǒng)中,使用大內(nèi)存支持可以通過PAE來實現(xiàn),但也不是說內(nèi)存多大都可以用PAE訪問,現(xiàn)在的Windows Server 2003企業(yè)版通過PAE最多可以使用32G內(nèi)存,其實這對于大多數(shù)應(yīng)用足夠了。2.使用PAE僅僅解決了操作系統(tǒng)可使用的內(nèi)存問題,應(yīng)用程序要想突破單進程的內(nèi)存限制還必須要擁有權(quán)限“在內(nèi)存中鎖定頁”,這也是我們?yōu)槭裁匆⒁粋€賬戶,并對其賦權(quán)后用該賬戶啟動SQL Server的原因,所以這一步不能省略。3.啟動PAE和AWE后,資源管理器中對于SQL Server進程的內(nèi)存使用情況就不再準確了,如果想查看SQL Server究竟用了多少內(nèi)存,可在SQL Server Manag

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論