2009-02-12 107 views
0

我正在考慮提高開發機器的性能,下一步是IO子系統,硬盤。 假設消費級硬盤(刪除SCSI和SAS驅動器)和一個合理的法案(刪除兩個或兩個以上10K RPM硬盤的選項),我遇到的兩個選項是:條紋RAID中1 10k rpm磁盤和2 7k rpm磁盤之間最好的選擇,性能方面

  1. 獲得1個VelociRaptor的或相當於10K RPM SATA硬盤(很可能是一個150GB)
  2. 得到2個標準7K RPM磁盤,將它們設置爲RAID 0

了10轉硬盤是最安全的,但最昂貴的選擇,因爲它的成本在這裏給定的尺寸大約150歐元。獲得另外兩張磁盤會帶來更危險的情況,因爲失敗的可能性加倍,但這是一個較便宜的選擇,特別是如果我照顧並定期進行全盤備份。我的主要問題是性能的問題之一:哪種情況會在開發任務中產生更好的性能(主要是.NET,一些運行的虛擬機,Visual Studio)。 有沒有人看到或完成這兩種情況下的比較基準?有沒有我想念的情景?

編輯:我現在傾向於Velociraptor。由於這是一個開發機器,最常見的情況是編譯,而raid 0對於「大部分」隨機讀取/寫入沒有多大幫助。

我打算在之前和之後做一些基準測試,如果/當我得到數據時我會更新這個問題。

+0

這不是一個編程問題,但它*是*編程相關的:我們都希望我們的編程環境能夠響應。 – 2009-02-12 23:36:48

+0

我同意,這絕對是編程相關的,尤其是當磁盤性能可能是在優化計算機進行編程時需要考慮的最重要的因素。 – Domchi 2009-02-12 23:40:36

回答

0

如果控制器甚至接近體面(如在硬件支持的情況下,不是一些令人討厭的軟件RAID卡),則應該更快地分條到多個驅動器。

但是這引出了一個問題......你真的確定磁盤I/O是你目前的瓶頸嗎?如果不是,那麼無論如何都不重要。 ;-)

0

選項2會給你更大的性能提升。如果您擔心驅動器出現故障,那麼您應該考慮定期備份基本數據。

0

我有一個150GB的猛禽,然後不得不回到「正常」的磁盤。現在,構建過程和Tomcat創業文學受到傷害。你注意到了改進,但你注意到更多的放緩。 :)

現在我打算去VelociRaptor,它應該比Raptor有更好的性能(並且應該更安靜/更酷)。

從兩張磁盤開始,是的,我聽過很多恐怖故事,但是我選擇不走這條路線的主要原因是兩個磁盤意味着更多的噪音。 VelociRaptor噪音水平非常適合靜音計算。

1

我認爲一個更好的問題並不是提供更好的性能,而是會獲得多大的性能好處。沿着同樣的路線,成本/性能的提高是值得關注的。

看幾個月前,我相信我發現兩個磁盤raid 0的速度有很小的改進,它比同一個RPM的一個磁盤設置的速度還要快。

我相信10K會更快,但做你的研究,看看數字

4

與任何性能優化練習一樣,您需要爲真實場景收集真實數據。

  • 確保您測試你真的,不只是運行基準罐頭的東西。基準對於比較不同運行的結果非常有用,但它們並沒有告訴你足夠的事情會如何影響你的實際工作。

  • 現在測量速度和各種變化。

  • 如果你還沒有,max你的RAM

  • 驅動程序可能會對您的結果產生重大影響。確保在測試速度時擁有最新的驅動程序。有時,您可以從Windows Update獲得一個驅動程序,從設備製造商獲得一個驅動程序,並從設備上使用的芯片製造商獲取一個驅動程序。一定要全部嘗試。與所有設備的BIOS相同。

  • 購買各種選項,試用它們,並返回你不使用的選項。我很少從零售店購買電子產品,但如果你有一個本地商戶,你可以在那裏瞭解員工,他們不是一羣失敗者,他們可以幫助你實驗,而無需支付一堆運費&補充費用。

  • 做備份。 Windows Home Server是簡單的方法。它可以讓您在每次更換硬件時進行恢復,以便快速進行真正的測試。它可以讓你從一個壞的RAID驅動更新中恢復。 RAID 0增加了硬件故障的風險,所以它也可以保護您免受此類損害。

此外,請務必閱讀SO問題「Best Dual HD Set up for Development

4

你需要確定什麼樣的操作是使你的硬盤的瓶頸。如果問題是讀取延遲,那麼10k RPM驅動器會更好一些,但是您應該強烈考慮英特爾的SSD之一,儘管它們很貴。 RAID 0對延遲沒有幫助,因爲兩個驅動器仍然需要尋找磁盤的相同部分。 RAID 1只能幫助智能控制器在兩個磁盤之間分配讀取請求。

如果讀取或寫入帶寬是您的問題,那麼RAID 0中的兩個7k RPM驅動器將會更好,只要您的RAID控制器體面。

對於軟件開發,性能瓶頸通常爲compiling,其中包括讀寫大量小文件。特別是如果你使用的是類似並行make的東西,磁盤會得到大量的隨機讀取請求,所以延遲將是大問題。英特爾SSD可能比10k RPM驅動器快幾倍。

2

根據使用情況,其中任何一種都可能是最好的。

其他東西相同,10k磁盤約有一個7k2的1.5x帶寬。 RAID0大約是帶寬的兩倍,因此它是2x與1.5x,RAID0在帶寬上獲勝。

OTOH,RAID0對搜尋時間沒有任何影響,而10k磁盤(再次)搜索時間在1左右。比7k2好5倍。 10K在尋找時間贏了。

所以,真正的問題是:你需要更多的帶寬還是更低的尋找時間?如果你正在執行繁重的任務,尋找時間是殺手。如果它一次只有一個應用程序,帶寬是最重要的。

在大多數情況下,服務器延遲受限且工作站受帶寬限制。少數虛擬機不會改變這種情況,除非您的虛擬機在後臺執行大量基於文件的IO。

0

如果你只關心速度,那麼verociraptor是一個很好的驅動器,但我建議你考慮最新的7.2k SATA磁盤,他們現在確實非常快,當然還有更多的容量。據推測,SSD是否超出預算?

1

搜索和小讀/寫是編譯期間顯示的主要行爲。

RAID 0對於查找行爲稍差於單個磁盤。

文件將在磁盤上平均分配。如果你想尋求那個文件,每個驅動器已經尋求。磁頭將在同一個圓柱體中,但磁盤的旋轉位置不會相同 - 不可能,不是每個7K RPM都有不同的啓動。想象一下你有一百萬張磁盤 - 這意味着一些磁盤將處於最壞的可能旋轉點,你將不得不等待最長的可能旋轉時間。當然,通常情況下,圓柱到柱面搜索的速度遠遠低於旋轉搜索的速度,但如果您不必更換柱面,那麼RAID 0將會變慢。在其他任何時候,這都沒有什麼區別。 RAID 0將提高吞吐量,但您不需要編譯。

實際上最好的辦法是購買一些額外的RAM並在RAM磁盤內編譯。

1

我遲到了這一次派對,但我寫了a post on this exact topic之後,我的爸爸給我發了一個鏈接。

總之:測量,但在我的測試中,RAID條紋贏得了一個不錯的餘地。