问题
I'm trying to somehow test my rbd storage with random read, random write, mixed randrw, but the output is not correct, it is a sequential growing number.
What is wrong with my steps?
This is the fio file that I ran:
; fio-rand-write.job for fiotest
[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
And the result is this:
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
I'm using fio 3.18.
Why I don't get the iops that is the real one?
回答1:
(Note this isn't really a programming question so Stackoverflow is the wrong place to ask this... Maybe Super User or Serverfault would be a better choice and get faster answers?)
but the output is not correct, it is a sequential growing number
Which column are you referring to? If you mean the left most column then isn't that time per the fio Log File Formats documentation?
Fio supports a variety of log file formats, for logging latencies, bandwidth, and IOPS. The logs share a common format, which looks like this:
time (msec), value, data direction, block size (bytes), offset (bytes)
Doesn't time generally monotonically increase relative to prior readings (accounting for precision)?
Also see the documentation for write_iops_log that says:
Because fio defaults to individual I/O logging, the value entry in the IOPS log will be 1 unless windowed logging (see log_avg_msec) has been enabled
来源:https://stackoverflow.com/questions/60628154/fio-results-are-steadily-increasing-iops-not-what-i-expected