我在 FreeBSD 8.2 发行版的 vinum 中尝试了不同的条带卷。我有当前的硬件(Intel i5 处理器、足够的 MB 和 8GB RAM)。
我的测试设置由卷中的 2 或 4 个磁盘组成,每个磁盘为 2TB,“绿色”系列 Seagate 和 Western Digital;即 5400RPM 的消费级磁盘。这些磁盘位于我的服务器中,而连接到服务器的台式机(通过 Gbit LAN)有一个快速 SSD。
我的问题是当我访问我的单个“黑色”Western Digital 2TB 时,通过我的 Gbit LAN 获得的性能(即读/写速度)比访问我的 vinum 卷时更好。
- 黑色 WD 单盘:读取 = 写入 = 90-105 MB/s
- vinum 卷,所有设置:读取 = 80 MB/s;写入 = 50 MB/s
我尝试过的 vinum 配置是:
测试1:
drive a device /dev/ad32
drive b device /dev/ad34
drive c device /dev/ad26
drive d device /dev/ad28
volume test1
plex org striped 512k
sd length 2048m drive a
sd length 2048m drive b
sd length 2048m drive c
sd length 2048m drive d
测试2:
drive a device /dev/ad32
drive b device /dev/ad34
volume test2
plex org striped 512k
sd length 1907728m drive a
sd length 1907728m drive b
我测试了test1
不同的条带长度(512k、64k、2048k),但速度相同。此外,我注意到test1
和之间的速度没有差异test2
,我觉得这很奇怪,因为这些都是有条纹的因此卷和磁盘数量很重要。
有谁知道为什么会发生这种情况,我该怎么做才能调整/加速 vinum 以至少超过我的单个 HDD?我是否应该考虑其他性能选项(ZFS w/RAIDZ 等)?
更多信息(编辑)
有关磁盘的 dmesg:
- ad26:1907729MB [ST2000DL003 9VT166 CC32] 位于 ata13-master UDMA100 SATA 6Gb/s
- ad28:1907729MB [ST2000DL003 9VT166 CC32] 位于 ata14-master UDMA100 SATA 3Gb/s
- ad32:1907729MB [WDC WD20EARX-00PASB0 51.0AB51] 位于 ata16-master UDMA100 SATA 3Gb/s
- ad34:1907729MB [WDC WD20EARX-00PASB0 51.0AB51] 位于 ata17-master UDMA100 SATA 3Gb/s
所有磁盘都连接到我的主板上的板载 SATA 控制器;Asus P8P67 Deluxe。
测试时ad32 作为单个磁盘,我的写入速度约为 60-70MB/s,读取速度约为 80-90MB/s。
所有测试均使用一个约 2.5GB 的大文件完成。
要点:我的磁盘在条带卷中的性能比单独使用时要慢...有什么建议吗?
答案1
根据您目前发布的内容,我猜测您的条带卷几乎肯定受到了速度较慢的驱动器的阻碍(我看到一个 6Gb/秒的链接和 3 个 3Gb/秒的链接 - 我敢打赌 3Gb/秒的驱动器也有较低的一般操作规格。
就像 @MikeyB 所说的那样,对每个磁盘分别运行速度测试 - 这将证实我的理论(或让您转向另一个方向)。
您可以预期看到性能受阵列中最慢磁盘的某些功能限制,硬上限在 SATA 控制器的最大吞吐量附近。
您还可以gstat
在测试阵列时尝试运行并查看每个磁盘上有什么样的活动 - 如果较慢的磁盘达到最大值,则可能是罪魁祸首,如果控制器被固定,那肯定是一个问题。