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

下載本文檔

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

文檔簡(jiǎn)介

基于32位Windows2003的數(shù)據(jù)庫(kù)服務(wù)器優(yōu)化,啟用AWE,優(yōu)化SQLServer最近幾天,筆者所在的單位中的一臺(tái)WEB服務(wù)器由于負(fù)載過(guò)大出現(xiàn)了問(wèn)題,當(dāng)同時(shí)在線的用戶(hù)達(dá)到一定規(guī)模(2000-3000)時(shí),頻繁出現(xiàn)頁(yè)面響應(yīng)遲緩、超時(shí)等問(wèn)題。服務(wù)器采用的操作系統(tǒng)是WindowsServer2003企業(yè)版,數(shù)據(jù)庫(kù)系統(tǒng)是SQLServer2005企業(yè)版。正當(dāng)大家考慮升級(jí)服務(wù)器時(shí),筆者對(duì)服務(wù)器狀態(tài)進(jìn)行了分析,并最終在未增加服務(wù)器硬件條件下找到了瓶頸、解決了問(wèn)題。現(xiàn)將分析、解決問(wèn)題的過(guò)程與大家分享,希望能幫助大家解決類(lèi)似的問(wèn)題。分析問(wèn)題:通過(guò)對(duì)服務(wù)器檢查發(fā)現(xiàn),不僅服務(wù)器的HTTP請(qǐng)求響應(yīng)遲緩,就連在服務(wù)器本機(jī)操作和遠(yuǎn)程桌面的操作中都有明顯“卡”的感覺(jué)。檢查任務(wù)管理器,發(fā)現(xiàn)此時(shí)的CPU占用率和內(nèi)存使用率并不高,沒(méi)有發(fā)現(xiàn)制約性能的地方,可是為什么系統(tǒng)這么慢呢?這時(shí),我發(fā)現(xiàn)了服務(wù)器的硬盤(pán)燈狂閃不止,這下發(fā)現(xiàn)了病因,服務(wù)器在頻繁的訪問(wèn)硬盤(pán),而硬盤(pán)IO響應(yīng)時(shí)間和內(nèi)存相比是非常高的。利用SQLServer自帶的性能工具:SQLServerProfiler,打開(kāi)其性能監(jiān)視器,我發(fā)現(xiàn)了Avg.DiskQueueLength(平均磁盤(pán)隊(duì)列)和Pages/Sec(每秒讀取的磁盤(pán)頁(yè)面數(shù))都很高,如圖1所示,尤其是Avg.DiskQueueLength,已經(jīng)達(dá)到了萬(wàn)級(jí),而Pages/Sec也達(dá)到了60。正常的AvgDiskQueueLength值應(yīng)該是盤(pán)陣中磁盤(pán)數(shù)量的2倍,Pages/Sec也應(yīng)該維持在10以下(除了偶爾的峰值外)。圖1SQLServer性能監(jiān)視解決問(wèn)題:看來(lái)要想完全解決問(wèn)題,就要分析數(shù)據(jù)庫(kù)頻繁訪問(wèn)硬盤(pán)的原因。一般來(lái)講,SQLServer會(huì)充分利用內(nèi)存進(jìn)行緩存,不會(huì)太過(guò)頻繁的訪問(wèn)硬盤(pán)。而我們的問(wèn)題是雖然負(fù)載較高,但內(nèi)存使用率并不高(僅僅使用了1.8G內(nèi)存)。服務(wù)器的內(nèi)存總數(shù)為12G,雖然IIS與其它應(yīng)用占用了一些內(nèi)存,但剩余的可用內(nèi)存仍然有8G左右,為什么SQLServer不充分利用內(nèi)存而頻繁讀取硬盤(pán)呢?這里有一個(gè)很有意思的現(xiàn)象,微軟和我們開(kāi)了個(gè)小玩笑,當(dāng)通過(guò)右鍵點(diǎn)擊“我的電腦”的屬性時(shí),可以發(fā)現(xiàn)服務(wù)器正確識(shí)別了12G內(nèi)存,可這并不意味著它就能使用這么多內(nèi)存。WindowsServer2003企業(yè)版和WindowsXP一樣都是32位操作系統(tǒng),受到32位內(nèi)存地址的制約,它們能使用的內(nèi)存通常不會(huì)超過(guò)4G,單個(gè)進(jìn)程能使用的內(nèi)存甚至不能超過(guò)2G。但WindowsXP的計(jì)算機(jī)屬性中會(huì)老老實(shí)實(shí)地告訴我們系統(tǒng)只識(shí)別到3G多內(nèi)存,而WindowsServer20003會(huì)識(shí)別所有內(nèi)存,但實(shí)際上它默認(rèn)情況下無(wú)法使用那么多內(nèi)存。通過(guò)上網(wǎng)查詢(xún),發(fā)現(xiàn)可以通過(guò)開(kāi)啟Windows2003Server的PAE功能以啟用大內(nèi)存支持。首先,找到C:/的boot.ini文件。在資源管理器中點(diǎn)擊“工具”-“文件夾選項(xiàng)”-“查看”,在高級(jí)設(shè)置中取消“隱藏受保護(hù)的操作系統(tǒng)文件”,并選擇“顯示所有文件和文件夾”。這樣我們就可以看到boot.ini文件了。用記事本打開(kāi)它,找到類(lèi)似于如下的行:來(lái)實(shí)現(xiàn),但也不是說(shuō)內(nèi)存多大都可以用PAE訪問(wèn),現(xiàn)在的WindowsServer2003企業(yè)版通過(guò)PAE最多可以使用32G內(nèi)存,其實(shí)這對(duì)于大多數(shù)應(yīng)用足夠了。2.使用PAE僅僅解決了操作系統(tǒng)可使用的內(nèi)存問(wèn)題,應(yīng)用程序要想突破單進(jìn)程的內(nèi)存限制還必須要擁有權(quán)限“在內(nèi)存中鎖定頁(yè)”,這也是我們?yōu)槭裁匆⒁粋€(gè)賬戶(hù),并對(duì)其賦權(quán)后用該賬戶(hù)啟動(dòng)SQLServer的原因,所以這一步不能省略。3.啟動(dòng)PAE和AWE后,資源管理器中對(duì)于SQLServer進(jìn)程的內(nèi)存使用情況就不再準(zhǔn)確了,如果想查看SQLServer究竟用了多少內(nèi)存,可在SQLServerManagementStudio中建立一個(gè)查詢(xún),利用如下命令“DBCCMemoryStatus”查看內(nèi)存使用

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論