我最近对我的几个驱动器进行了一些性能测试,试图找出哪种驱动器/raid 级别的组合(或不组合)能给我带来最佳性能(对于 Hyper-V,以防有人好奇)。
然而,我看到的一些行为/结果对我来说似乎很奇怪。
我使用标准 Windows 软件 Raid(即不是假主板 Raid,也不想花几百美元购买像样的硬件 Raid 控制器)进行这些测试。我根本不担心备份或驱动器故障(Windows Home Server,FTW!),我专注于性能。这些测试是在 Windows 7 Ultimate 中执行的(我的服务器最终将是 Server 2k8R2)。
我有两块 Western Digital Black 640Gb 硬盘(SATA300),使用 Atto Disk Benchmark 得到以下结果(使用 SQLIO 也得到类似的结果):
驱动器读写 640(#1) 120 115 640(#2) 125 110 镜像 (Raid-1)* 82 77 条带化(Raid-0) 162 145
意想不到的结果是镜像驱动器的性能极差。我原本以为读取性能会比单个驱动器略好一些,而不是差很多。
我已多次运行测试(破坏并重新创建阵列以及混合镜像、条带化和单一驱动器测试)并获得了可比的结果。
对于使用类似软件 raid 设置的任何人来说,这些数字是否与您正在使用的数字相符,还是完全不正确?(因为在我看来确实如此……)
答案1
如果您在创建镜像后不等待阵列同步,您将看到如下结果。驱动器需要同步才能真正衡量性能,否则它们将进行大量的后台读写。
答案2
很久以前,但是为了回应其他从谷歌来到这里的人们。
首先,同步以扇区为单位进行,整个驱动器、数据或空的,分成一个或多个。
其次,在同步过程中,由于某种我还无法理解的原因,驱动器的速度下降到正常速度的一小部分 - 可能是某种缓冲效果,缓存,我不知道。
当镜像集不同步时,您应该会发现镜像集比单个驱动器更快。这与智能使用并行磁盘访问有关。我的数据驱动器是 7500rpm,HDTune 显示它们一起运行的速度与我的 10000rpm 迅猛龙一样快。