Re: fio problems

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

 



Am 05.04.2012 16:42, schrieb Jens Axboe:
> On 2012-04-05 02:51, Danny Kukawka wrote:
>>>> 3) fio always reports minb == maxb and aggrb < minb as you can see
>>>> above. From my understanding this would be false info.
>>>
>>> Yeah, it's a cosmetic thing. I've never really taken the time to look at
>>> that...
> 
>> It's not cosmetic if you need correct values for your tests ...
> 
> Most people don't use the group reporting, but yes of course it should
> be correct. I have checked in a patch to correct it. The min/max group
> report bandwidth were off by 1.024, the aggregate was correct (and
> matched the "real" data output).
> 
>>>> 4) If we define rw=randrw, rwmixread=80, rwmixwrite=20 and the verify
>>>> options, what does the READ process if there isn't enough data written
>>>> out yet? Which data does READ read and verify?
>>>
>>> If you have a split workload like that and are also doing verifies, the
>>> read can be either a read verify or just an offset read. In the latter
>>> case, it doesn't verify anything. It'll just read a block (or multiple
>>> blocks) at some offset instead of writing it.
> 
>> That would may explain the fio over-report in 1).
> 
>> We create a new RBD on the cluster, mount it on the client and let fio
>> start it's test on the RBD. The RBD is completely empty at this moment.
>> Not sure what happens if fio reads some random offset that may isn't
>> filled with data at this moment. Or is fio only reading from a prior
>> written block/offset?
> 
> OK, if we back up a bit. If you have a workload that is rwmixread=50,
> hence doing equal amount of random reads and writes. Then the job will
> read 50% of the disk, and write 50% of the disk. None of the read and
> write offsets will be the same. So if the drive is initially empty, you
> are reading non-initialized data.
> 
> Same thing is true for your workload. So some of the reads you see will
> be the verifies, but some of them will also be for parts of the disk
> that you will then never write.

We solved it now by running an initial fio write over the full RBD
before running any verify tests:

 fio --name=fill-rbd --filename=/dev/rbd1 --direct=1 --rw=write \
     --bs=4M --size=25g --ioengine=libaio --iodepth=128

Now we don't see problems with over-reporting fio anymore.

Danny
-- 
Danny Kukawka
 SUSE LINUX Products GmbH
  Maxfeldstrasse 5, D-90409 Nuremberg, Germany
  GF: Jeff Hawn,Jennifer Guild,Felix Imendörffer,HRB16746 (AG Nürnberg)

Attachment: signature.asc
Description: OpenPGP digital signature


[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