【发布时间】:2021-03-18 12:06:54
【问题描述】:
据我从所有有关 NVMe SSD 的相关文章中了解到,NVMe SSD 的好处之一是多队列。利用多个 NVMe I/O 队列,可以极大地利用 NVMe 带宽。 但是,我从自己的实验中发现的并不同意这一点。
我想从 NVMe SSD 执行并行 4k 粒度顺序读取。我正在使用三星 970 EVO Plus 250GB。我使用 FIO 对 SSD 进行基准测试。我使用的命令是:
fio --size=1000m --directory=/home/xxx/fio_test/ --ioengine=libaio --direct=1 --name=4kseqread --bs=4k --iodepth=64 --rw=read --numjobs 1/2/4 --group_reporting
下面是我测试 1/2/4 并行顺序读取的内容:
numjobs=1:1008.7MB/s
numjobs=2:927 MB/s
numjobs=4:580 MB/s
即使不会增加带宽,我预计增加 I/O 队列至少会保持与单队列性能相同的带宽。带宽减少有点违反直觉。减少的可能原因是什么?
谢谢。
【问题讨论】:
-
您是否因为所有文件都在同一个目录中而导致文件系统争用?
标签: operating-system storage hardware solid-state-drive nvme