Re: Total latency (lat) of a workload test

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

 



Hi,

On Mon, 19 Aug 2019 at 00:02, Eliezer Nebab
<eliezer@integritech.solutions> wrote:
>
> Hello,
>
> I have the following workload:
>
> fio --randrepeat=1 --ioengine=libaio --direct=1 --sync=1 --name=test --filename=random_readwrite_test.fio --overwrite=1 --iodepth=64 --size=5GB --readwrite=randrw --rwmixread=50 --rwmixwrite=50 --bs=32k --runtime=60 --time_based --ramp_time=15
>
> With the following result:
>
> read : io=1949.4MB, bw=33249KB/s, iops=1038 , runt= 60035msec
>     slat (usec): min=4 , max=30100 , avg=23.92, stdev=240.73
>     clat (msec): min=1 , max=80 , avg=31.59, stdev= 8.94
>      lat (msec): min=1 , max=80 , avg=31.61, stdev= 8.94
>
>  write: io=1830.3MB, bw=31219KB/s, iops=975 , runt= 60035msec
>     slat (usec): min=5 , max=30150 , avg=35.61, stdev=293.88
>     clat (msec): min=1 , max=80 , avg=31.91, stdev= 8.82
>      lat (msec): min=1 , max=80 , avg=31.95, stdev= 8.81
>
> This is a 2000 iops iscsi. The read operation shows a 31.61 (msec) lat and the write operation at 31.95 (msec).  What is the correct way to interpret the total latency of this fio workload?  Do you add the read lat (31.61) plus write lat (31.95) to get the overall latency for this workload?

I'm afraid I don't understand the question. I guess you're saying "can
I flatten the read and write latencies into one number by summation"
and my feeling would be no you can't because then it's not per I/O
data that you are talking about - you have two I/Os worth of latency
(I'm not statician though). I'd probably make some statement like "the
average per I/O latency with workload XYZ was approximately 32
milliseconds regardless of direction" (if you're about to publish
results don't forget about
https://github.com/axboe/fio/blob/master/MORAL-LICENSE ). Possibly
averaging the average is slightly more meaningful or taking the higher
of the two two numbers.

Just be aware it looks like the workload you're doing has a filesystem
between you and your disk and by default fio is going to be making
that "random_readwrite_test.fio" file in the current working
directory. If that's not a filesystem on the iSCSI disk you actually
wanted to test or it is a filesystem that ignores the direct flag
(https://stackoverflow.com/a/46377629/ ) then results may not be as
you expect etc. I'd recommend at least checking what you get doing I/O
against the block device directly but be aware that doing so will
DESTROY any data (e.g. like a filesystem) already there!

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