Re: IO depth reported by Fio/blktrace/iowatcher

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

 



On 2012-10-03 09:46, Jens Axboe wrote:
> On 2012-10-03 09:02, Georg Schönberger wrote:
>> Good Morning,
>>
>> I have a short question about the used io depth reported by Fio/blktrace/iowatcher:
>> If I am starting a test:
>> # blktrace -d /dev/sde -o hdd &
>> # fio --rw=read --name=wd --bs=1024k --direct=1 --filename=/dev/sde --offset=0 --runtime=300 --ioengine=libaio --iodepth=4
>> [...]
>>   IO depths    : 1=0.1%, 2=0.1%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
>>      submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
>>      complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
>> [...]
>> As seen above Fio is reporting 100% io depth 4. In contrast to that blktrace and iowatcher (cf. attached figure) revealing the following io depths (9 and 7):
>> # blkparse hdd.blktrace.8
>> [...]
>> CPU8 (hdd):
>>  Reads Queued:        9072,     4644MiB	 Writes Queued:           0,        0KiB
>>  Read Dispatches:     9070,     4643MiB	 Write Dispatches:        0,        0KiB
>>  Reads Requeued:         0		 Writes Requeued:         0
>>  Reads Completed:     9072,     4644MiB	 Writes Completed:        0,        0KiB
>>  Read Merges:            0,        0KiB	 Write Merges:            0,        0KiB
>>  Read depth:             9
>> [...]
>> # iowatcher -t hdd.blktrace.8 -o wd.svg
>> (showing an io depth of 7)
>>
>> Where is this divergence concerning the io depths coming from? A short explanation would be great =)
> 
> You are using a relatively large block size (1024k) and that is why.
> That will be broken into 512kb chunks usually, effectively almost
> doubling the queue depth seen on the device side.
> 
> Fio reports the queue depth the way it sees it, on the submitting
> application side. That may or may not be identical to what the device
> sees. It could be higher, if the scheduler is throttling fio. Or it
> could be lower, as in this case.

BTW, this is also visible if you look at the blkparse output:

Reads Queued:        9072,     4644MiB

which gives you an average read IO size of ~524KB.

-- 
Jens Axboe

--
To unsubscribe from this list: send the line "unsubscribe fio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[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