Windows-Server-2003

我怎樣才能使這個設置更快?

  • December 1, 2009

嘿 StackOverlow 社區,

我目前正在使用一些儲存一堆 XML 文件的軟體。所有文件都在 25k 字節以下。該軟體的製造商稱其性能基於多個並發的微小讀取。從驅動器讀取的速度越快,它的性能就越好。

之後,大量的性能測試他們似乎在說真話。但是,在為此投入資金之前,我想盡可能多地進行測試。伺服器似乎從未超過 35% 的 CPU 使用率或記憶體峰值。

伺服器設置如下

  • Windows Server 2003 標準版
  • 四核 2.6 Ghz
  • 4GB 記憶體
  • 2 個硬體 Raid 卡
  • RAID10 中的 8 個 15k SCSI 驅動器(硬體 RAID)

我在想,如果我將設置更改為在 RAID0 中使用 2 Intel X-25 M,我會獲得更好的性能。備份不是問題。我們有一個到另一台伺服器的實時複製和一個異地夜間備份,它也進入磁帶。我目前在不同的伺服器上嘗試了單個 Intel X-25,它看起來很有希望。

所以我的問題如下 -

  1. 我是否應該期望 2 SSD 驅動器設置比 8 SCSI 驅動器性能更好?
  2. 我應該採取任何特殊的 SSD 設置步驟嗎?(塊大小等?)
  3. 目前在 Windows Server 2003 中進行測試?無論如何,這會阻礙嗎?我應該遷移到 Windows Server 2008 嗎?(Linux 等不是有效的選項)
  4. 我應該對作業系統進行任何調整嗎?
  5. 不同/更好的基準測試軟體?

任何人都經歷過或測試過類似的事情,請告訴我。

使用 ( CrystalDiskMark ) 5的一些基準測試資訊通過 50Mb

固態硬碟盒

類型 - 讀取 Mb/s - 寫入 Mb/s 
序列 - 225 - 50.84 
512K - 152.7 - 53.73 
4K - 18.85 - 35.35 

SCSI 盒

類型 - 讀取 Mb/s - 寫入 Mb/s 
序列 - 549.8 - 352.2 
512K - 538.3 - 342.2 
4K - 89.30 - 65.19

TL;DR - RAID0 或 RAID10 中的 2 個 SSD 驅動器是否比 RAID10 中的 8 個 15k SCSI 驅動器快?

謝謝閱讀。

鑑於您試圖達到的性能水平,那麼您應該牢記幾件事。

較早的建議將保存您的數據集的驅動器格式化為 NTFS 群集大小 > 25k 是一個不錯的建議,32k 似乎對於您的案例來說是一個不錯的選擇。這樣做的目的是確保您盡可能避免處理碎片,並降低與讀取單個文件相關的文件系統成本。

另外,我建議您查看一下您的 RAID 條帶大小。如果您的數據集的性質導致(大部分)順序 IO,那麼較大的條帶大小更有利,如果它是隨機的,那麼較小的條帶大小會更智能,只是不要使其小於文件系統集群大小。鑑於您正在嘗試做的事情的描述,我會說您的 IO 配置文件大多是隨機的,因此 64k 的條帶大小會很好,但可能值得嘗試。

非常重要的是確保分區對齊 - 您將希望在系統上使用 Diskpart.exe,通常將對齊偏移設置為 64k 可以解決標準集群和 RAID 條帶大小的問題,但在 Vista 中使用 1024k 偏移\ Windows7\W2K8,因為即使使用較大的條帶和群大小,它也能確保對齊。Microsoft 此處有一篇關於 SQL 伺服器性能的非常好的文章,解釋了為什麼這對高性能驅動器\陣列很重要。簡而言之,對齊不佳的分區會使 IO 性能降低 15-30%。

對於 SSD,適用相同的一般規則,但讀取\寫入的基本行為有很大不同。而不是在 SSD 的最基本級別 IO 上處理 512 字節的磁碟扇區,而是使用更大的塊。讀取往往在 4k 和 128k 之間的固定頁面大小,寫入涉及緩沖和大擦除塊大小(在兆字節範圍內)。對您來說關鍵(讀取 IO 很重要)是您希望將 RAID 條帶大小設置為您選擇的磁碟類型的讀取頁面大小的倍數(我認為 Intel X-25 都使用 128k 讀取塊)並且您想將對齊偏移量設置為某個數字,以確保它大於該數字。例如,如果 SSD 的讀取頁面大小為 128k,則 64k 分區偏移的標準建議將是一個糟糕的選擇。

在 OCZForum上有一篇關於優化 SSD RAID 的好文章,它針對的是發燒友設置,但據我所知,對於任何試圖從現成的套件推出自己的 SSD RAID 的人來說,它們都得到了正確的一般資訊。

最後,如果您的讀取 IO 模式主要是順序的,那麼 8 個 15k 驅動器(理論上)可以達到 800Meg/sec 的某個地方,如果不是更多的話。兩個 SSD,即使是 Intel X-25E,也只能達到一半左右。我猜你的讀取 IO 模式足夠偏向隨機 IO 來否定這一點,但在適當的情況下,你的 8 個 15k SCSI 驅動器可能比兩個 SSD 快得多。你的測試證明了這一點。看看這些數字,雖然我會說一些使用分區對齊和條帶大小的工作會有所幫助。

引用自:https://serverfault.com/questions/81449