Re: Don't benchmark with fio

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, 2 May 2020 at 01:05, Seena Fallah <seenafallah@xxxxxxxxx> wrote:
>
> On Mon, Apr 27, 2020 at 12:55 AM Yigal Korman <ykorman@xxxxxxxxx> wrote:
> >
> > On Sun, Apr 26, 2020 at 4:16 PM Seena Fallah <seenafallah@xxxxxxxxx> wrote:
> > >
> > > Thanks all for your replies.
> > >
> > > Maybe if you like it would be a good feature in fio to support this
> > > type of needs :)
> > >
> > > I have one more question about xfs_io, I don't know if it's a right
> > > place but if it not I'm sorry. I have run xfs_io and gets this result:
> > > 100.000000 bytes, 1 ops; 0.0000 sec (1.514 MiB/sec and 15873.0159 ops/sec)
> > > What is the 15873.0159 ops/sec? Did xfs_io really do 15873.0159 iops or 1iops?
> >
> > It did 1 operation, but because it took such a short time, much less
> > than a second, the ops/sec comes out as a large number.
> > I hope that makes sense to you.
> >
> I have tried with 10MB and I get 86897.7297 ops/sec:
> xfs_io -c "pwrite 0 10000000" -f ~/test
> wrote 10000000/10000000 bytes at offset 0
> 10 MiB, 2442 ops; 0.0281 sec (339.362 MiB/sec and 86897.7297 ops/sec)

As stated elsewhere the ops/sec in brackets is an average. As the
total run time was less than a second in this case it is a predicted
average.

You did 2442 ops in 0.0281 sec or if I change the units, 2442 ops in
28.1 millisconds. Now I can work out how how many operations you did
on average per milisecond with maths - 2442 / 28.1 so approximately
86.9 operations per millisecond (I've done some rounding). Now I can
change the units back to seconds (which in this case will cause a
prediction as you never actually did a second or more worth of I/O).
So because there are 1000 miliseconds in a second this will come to
approximately 86.9 * 1000 = 86900 which because I've done some round
earlier approximates the value you gave.

As stated previously suggested have you had a chance to read through the code?

$ cd /tmp
$ git clone --depth 2  git://git.kernel.org/pub/scm/fs/xfs/xfsprogs-dev.git
Cloning into 'xfsprogs-dev'...
remote: Enumerating objects: 609, done.
remote: Counting objects: 100% (609/609), done.
remote: Compressing objects: 100% (585/585), done.
remote: Total 609 (delta 50), reused 210 (delta 16)
Receiving objects: 100% (609/609), 1.57 MiB | 648.00 KiB/s, done.
Resolving deltas: 100% (50/50), done.
$ cd xfsprogs-dev/
$ git grep -n report_io_times
include/command.h:57:extern void                report_io_times(const
char *verb, struct timeval *t2,
io/pread.c:496: report_io_times("read", &t2, (long long)offset, count,
total, c, Cflag);
io/pwrite.c:468:        report_io_times("wrote", &t2, (long
long)offset, count, total, c,
io/reflink.c:165:       report_io_times("deduped", &t2, (long
long)doffset, count, total, ops,
io/reflink.c:300:       report_io_times("linked", &t2, (long
long)doffset, count, total, ops,
io/sendfile.c:154:      report_io_times("sent", &t2, (long
long)offset, count, total, c, Cflag);
libxcmd/command.c:238:report_io_times(
$ sed -n '238,$p' libxcmd/command.c
report_io_times(
[...]


--
Sitsofe | http://sucs.org/~sits/



[Index of Archives]     [Linux Kernel]     [Linux SCSI]     [Linux IDE]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux