0

我使用 fio 测试了一个由 16 个 HDD 磁盘组成的 RAID0 虚拟磁盘的 IO 速度,但 IO 速度结果令人困惑


这是一个centOS7.5,使用DELL POWEREDGE RAID CONTROLLER H840,我使用带有16个HDD磁盘的RAID0创建了一个虚拟磁盘“sdc”。我试图增加 numjobs,iodepth 但没有奏效。sdc'max读取速度约400MB/s,单盘读取速度约130MB/s。


fio --filename=/dev/sdc --iodepth=64 --ioengine=libaio --direct=1 --rw=read --bs=4k --time_based --runtime=20 --numjobs=16 --group_reporting --name=测试阶段


预期结果:RAID0 磁盘 sdc 的 IO 速度大约是普通磁盘的 16 倍。


实际结果:

运行状态组 0(所有作业): READ: bw=397MiB/s (416MB/s), 397MiB/s-397MiB/s (416MB/s-416MB/s), io=7940MiB (8326MB), run=20001- 20001毫秒

磁盘统计信息(读/写):sdc: ios=2018212/0, merge=0/0, ticks=624355/0, in_queue=631222, util=100.00%

RAID0 磁盘与 3 个 HDD 磁盘的最大读取速度也约为 400MB/s。

4

1 回答 1

0

(嗯,这个问题可能与 Stack Overflow 无关)

您的 16 个作业 ( numjobs=16) 将从/dev/sdc彼此相同的区域读取。可能是作业 1 提交了一次读取,它的数据被提取到 RAID 控制器的缓存中,I/O 返回到 Linux,然后作业 2 提交了对同一区域的读取,但现在它要求的数据是从 RAID 控制器的缓存等中非常快速地满足。

使用. _ _ _numjobs

于 2019-11-12T07:19:58.873 回答