使用pmem的FIO基准测试依赖于哪个因子(参数)带宽

时间:2018-02-03 18:02:19

标签: io storage benchmarking

我正在使用以下命令对/ dev / pmem进行FIO测试以进行顺序读取:

fio --name = readf --filename = / dev / pmem --iodepth = 4 --ioengine = libaio --direct = 1 --buffered = 0 --groupreprting --timebased --bs = 64k - size = 10g --rw = read --norandommap --refillbuffers = 1 --randrepeat = 0 --runtime = 300

1 个答案:

答案 0 :(得分:0)

这个问题很模糊,可以理解为您的最大磁盘带宽取决于什么?

  • 底层设备的速度。
  • 底层设备的状态。
  • 系统忙碌。
  • 可以串联发送的I / O数量。
  • I / O如何一起批处理。
  • 选择的块大小(磁盘通常具有最佳大小)。
  • I / O是顺序还是随机。
  • 是否有其他I / O发生在同一磁盘上(例如SMART更新)。
  • 设备上的缓存是否已用尽。
  • 设备是否必须进行维护。
  • 缓存大小。
  • 放下I / O的数量。
  • 数据的可压缩性。
  • 操作系统的配置参数。
  • 硬件的配置参数。
  • 区域内的I / O大小。

在工作中,突出的事情是:

  • iodepth看起来有点低,尝试提升它,直到你没有得到任何好处。
  • 设置norandommap对于顺序作业没有意义
  • 设置direct = 1和buffered = 0是多余的
  • groupreprting和timebased拼写错误
  • refillbuffers也拼写错误,您可能会使用较低开销的scramble_buffers,但存在随机数据较少的风险
  • 您可以通过将fio固定到合适的CPU来获得一些好处
  • 您可能会获得批量提交I / O的好处