如何最佳化Windows伺服器效能

來源:互聯網
上載者:User

最佳化Windows伺服器磁碟效能

  在一台伺服器的使用上,磁碟往往佔據著很重要的位置。伺服器磁碟的配置和維護對整個伺服器效能方面產生很大影響。實際上,最佳化伺服器磁碟的方法只需要花費一點點時間。在這篇文章中,我將會分享一些提高你的伺服器磁碟子系統效率的方法。

  注意:幾乎所有的伺服器都被做了不相同的配置。也就是說,最適合您的組織的磁碟配置和最佳化技巧可能對另外一個組織的伺服器是有害的。唯一的完全最佳化一台伺服器磁碟的方法是去分析,在這台伺服器上都運行了哪些應用,並且這些應用在伺服器磁碟子系統中佔用了多少工作量。

  所以說,在這裡是沒有辦法去提供最全面最完善的方法,來讓你的伺服器以最佳化的效能運行。這篇文章將會帶來一些通用方法,通常能夠用來提高大多數類型伺服器的效能。

  檔案布置

  最佳化伺服器效能的一個竅門是去把檔案放置在適當的磁碟上。舉例來說,Windows Server作業系統通常情況下是被安裝在C盤上。在這樣的情況下,我推薦將C盤僅用作存放作業系統檔案之用,儘管在一些情況下,你也可以將一些其他應用到C盤上而沒有對效能產生不好的影響。

  因為作業系統組件會消耗大量的磁碟輸入/輸出時間,並產生pagefile系統檔案,我推薦將它放在一個專屬磁碟機(並不是一個專屬分區)。這能夠防止磁碟輸入/輸出關聯虛擬記憶體分頁而不打斷系統其他部分。

  儲存到伺服器上的任何一個資料通常都應該被存放在一個專屬卷上。因為絕大多數的伺服器磁碟輸入/輸出通常同讀取資料和寫入資料相關聯,它通常需要在一個RAID(獨立磁碟容錯陣列)陣列上存放資料,類型依賴於你所需要的效能層級和容錯控制。RAID(獨立磁碟容錯陣列)10陣列常常是一個較好的選擇對象,因為他們同RAID 1陣列一樣迅速,但卻是通過鏡像(mirroring)提供容錯控制。

  記憶體

  不管你是否相信,你的系統中記憶體總數會給磁碟子系統效能帶來巨大差異。我已經討論過在一個專屬的磁碟上存放分頁檔,以此來將帶給系統閑置的虛擬記憶體頁面的影響最小化。虛擬記憶體的概念是相對於實體記憶體而言的,當系統的實體記憶體空間入不敷出時,作業系統便會在硬碟上開闢一塊磁碟空間當做記憶體。

  然而,這個技巧是很差強人意的。首先,磁碟的相應速度甚至比最慢的實體記憶體還要慢。磁碟的存取速度是在毫秒的數量級上,而實體記憶體的存取速度是在十億分之一秒的數量級上。

  另外一個問題是作業系統不能利用儲存在虛擬記憶體上的記憶體分頁。如果作業系統需要去執行在一個記憶體分頁執行一個指令,那首先這個分頁必須被移動到實體記憶體上。這個步驟被稱為交換(swapping)或者paging(線性空間到物理地址空間的映射)。

  如果一台伺服器的實體記憶體被裝載滿了,並且在它需要去訪問一個存放在虛擬記憶體中的記憶體分頁的時候,那在這個時候,伺服器將不得不去將一個暫時不用的分頁從實體記憶體中交換到虛擬記憶體上,以使得實體記憶體上有空間,能夠將需要訪問的記憶體分頁從虛擬記憶體中交換到實體記憶體上。

  這種分頁進程不但只消耗磁碟資源,並且還佔用大量的CPU時間和記憶體。有一些伺服器的實體記憶體往往會去記錄哪些分頁在隨機儲存空間(RAM)上,哪些分頁在虛擬記憶體上。這就是為什麼分頁方法是如此的低效。一些分頁是正常的,但是過量的分頁會嚴重的制約一個系統的效能。過量的分頁會導致不變的磁碟工作(disk activity)。

  減少分頁的最好方法是在你的伺服器上安裝儘可能多的記憶體。隨著伺服器中的隨機儲存空間(RAM)數量的增加,相應的,pagefile檔案的大小也會增加。然而,在pagefile檔案上的系統依賴將會減少。這將會騰出數量相當可觀的磁碟處理時間和CPU處理時間。

  磁碟磁碟重組程式

  這裡最重要的方法之一是為保證你能夠有一個效能良好的磁碟,你應該去規則週期性執行磁碟磁碟重組程式。磁碟被設計為寫入資料以線性方式。但是,當檔案被刪除時,磁碟檔案就不會被連續存放,在檔案被刪除的地方,就會形成無法利用的空間。

  在將資料寫入可用空間之前,磁碟將會計算這些可用空間。如果可用空間不能向被寫入的資料提供足夠的空間時,檔案就會被分散儲存到磁碟的不同地方:檔案的一部分會被插入到可用空間的縫隙中,剩下的一部分可能會被存放到下一個可用空間的縫隙中,或者磁碟的末尾部分。

  這種檔案片段對系統效能產生不好的影響,因為檔案片段過多會使系統在讀寫檔案的時候來回尋找,使效率變低。整理磁碟片段,並且允許檔案以一個線性方式存放,這將會加快磁碟的存取讀寫速度。

  索引

  根據你伺服器的以往使用經驗,索引的使用在其中起到的作用應該是喜憂參半的。索引包括讀取磁碟上的所有檔案,並且建立一個索引告訴作業系統所包含的是什麼檔案。如果使用者通過這種例行搜尋方式去在一個大資料量中去尋找特殊檔案,索引就會讓這種方法變得更有效。

  然而,許多系統管理員不喜歡使用索引,因為索引進程會佔用大量的CPU處理時間和記憶體。一些磁碟空間也往往會去儲存索引。

  我的建議:以server-by-server的基礎去判斷是否使用索引是很恰當的。在我的組織中我做索引檔案伺服器,因為我經常不得不去通過我的檔案搜尋來查看我是否已經寫了關於某些問題的文章。然而,我的郵件伺服器,資料庫伺服器,主網域服務器(DNS),網域控制站等等並沒有被編入索引。為這些類型的伺服器作索引是沒有任何意義的。事實上,如果你希望去提高系統效能,你應該檢查你的結構底層伺服器,來確定它們沒有被編入索引。



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.