0

我试图用随机读取、随机写入、混合 randrw 以某种方式测试我的 rbd 存储,但输出不正确,它是一个连续增长的数字。

我的步骤有什么问题?

这是我运行的 fio 文件:

; fiotest 的 fio-rand-write.job

[global]
name=fio-rand-write
filename=fio-rand-write
rw=randwrite
bs=4K
direct=1
write_iops_log=rand-read

[file1]
size=1G
ioengine=libaio
iodepth=16

结果是这样的:

head rand-read_iops.1.log
2, 1, 1, 4096, 0
2, 1, 1, 4096, 0
2, 1, 1, 4096, 0
2, 1, 1, 4096, 0
2, 1, 1, 4096, 0
3, 1, 1, 4096, 0
4, 1, 1, 4096, 0
5, 1, 1, 4096, 0
5, 1, 1, 4096, 0
5, 1, 1, 4096, 0

tail rand-read_iops.1.log
30700, 1, 1, 4096, 0
30700, 1, 1, 4096, 0
30700, 1, 1, 4096, 0
30700, 1, 1, 4096, 0
30700, 1, 1, 4096, 0
30700, 1, 1, 4096, 0
30700, 1, 1, 4096, 0
30700, 1, 1, 4096, 0
30700, 1, 1, 4096, 0
30700, 1, 1, 4096, 0

我正在使用 fio 3.18。

为什么我没有得到真正的 iops?

4

1 回答 1

1

(注意这不是一个真正的编程问题,所以 Stackoverflow 是问这个问题的错误地方......也许超级用户Serverfault会是更好的选择并获得更快的答案?)

但输出不正确,它是一个连续增长的数字

你指的是哪一栏?如果您的意思是最左边的列,那么不是按照fio 日志文件格式文档的时间吗?

Fio 支持多种日志文件格式,用于记录延迟、带宽和 IOPS。日志共享一种通用格式,如下所示:

时间(毫秒)、值、数据方向、块大小(字节)、偏移量(字节)

相对于先前的读数(考虑到精度),时间通常不会单调增加吗?

另请参阅write_iops_log的文档,其中说:

因为 fio 默认为单个 I/O 日志记录,IOPS 日志中的值条目将为 1,除非已启用窗口日志记录(请参阅 log_avg_msec)

于 2020-03-11T16:24:45.400 回答