bash
bash

Reputation: 13

how fio iops logfiles are interpreted?

I am using fio for storage benchmarking and fio2gnuplot for plotting graphs, every time I run a test and look into logfiles of iops, second coloumn is always 1 which is iops value and due to this graphs are just a straight line perpendicular to Y axis .Which makes no sense. I tried various iodepths,ioengines but no use.am I using any parameters(options)wrong?

following is my jobfile.

[global]

enter code here

rw=randwrite
size=128m
thread=1
iodepth=2
ioengine=libaio
per_job_logs=0
directory=/home/fio



[job_512]
write_bw_log=logfiles_libaio/fio-test_512
write_iops_log=logfiles_libaio/fio-test_512
write_lat_log=logfiles_libaio/fio-test_512
bs=512b

and this is the logfile

1, 1, 0, 512
2, 1, 1, 512
18, 1, 1, 512
19, 1, 0, 512
31, 1, 1, 512
53, 1, 1, 512
55, 1, 1, 512
56, 1, 0, 512
59, 1, 1, 512
63, 1, 1, 512

Upvotes: 1

Views: 5523

Answers (1)

Michael Tong
Michael Tong

Reputation: 452

According to fio manual(man fio), under "FIO FILE FORMATS", it says:

   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, offset

   Time for the log entry is always in milliseconds. The value logged depends on the type  of  log,  it
   will be one of the following:


   Latency log
          Value is in latency in usecs
   Bandwidth log
          Value is in KB/sec
   IOPS log
          Value is in IOPS

   Data direction is one of the following:


   0      IO is a READ
   1      IO is a WRITE
   2      IO is a TRIM

However, I think the 'offset' should be 'IO size'.

So, in your bandwidth case, it's:

timestamp(ms), bandwidth(KB/sec), R/W, size

Upvotes: 6

Related Questions