[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] 4k seq read splitting for virtio-blk - possible workaro
From: |
Andrey Korolyov |
Subject: |
Re: [Qemu-devel] 4k seq read splitting for virtio-blk - possible workarounds? |
Date: |
Mon, 26 Oct 2015 19:31:06 +0300 |
On Mon, Oct 26, 2015 at 6:37 PM, Paolo Bonzini <address@hidden> wrote:
>
>
> On 26/10/2015 12:50, Andrey Korolyov wrote:
>> Hi,
>>
>> during the test against generic storage backend with NBD frontend we
>> found that the virtio block device is always splitting a single read
>> range request to 4k ones, bringing the overall performance of the
>> sequential reads far below virtio-scsi. Random reads are going
>> relatively well on small blocks due to small overhead comparing to
>> sequential ones and writes are ok in all cases. Multiread slightly
>> improves the situation, but it would be nice to see complete
>> pass-through of range read requests down to backend without an
>> intermediate splitting.
>>
>> Samples measured on an NBD backend during 128k sequential reads for
>> both virtio-blk and virtio-scsi are attached. Please let me know if it
>> looks like that I missed something or this behavior is plainly wrong.
>
> How does the blktrace look like in the guest?
>
Yep, thanks for suggestion. It looks now like a pure driver issue:
Reads Queued: 11008, 44032KiB Writes Queued: 0, 0KiB
Read Dispatches: 11008, 44032KiB Write Dispatches: 0, 0KiB
vs
Reads Queued: 185728, 742912KiB Writes Queued: 0, 0KiB
Read Dispatches: 2902, 742912KiB Write Dispatches: 0, 0KiB
Because guest virtio-blk driver lacks *any* blk scheduler management,
this is kinda logical. Requests for scsi backend are dispatched in
single block-sized chunks as well, but they are mostly merged by a
scheduler before being passed to the device layer. Could be there any
improvements over the situation except writing an underlay b/w virtio
emulator backend and the real storage?
- [Qemu-devel] 4k seq read splitting for virtio-blk - possible workarounds?, Andrey Korolyov, 2015/10/26
- Re: [Qemu-devel] 4k seq read splitting for virtio-blk - possible workarounds?, Paolo Bonzini, 2015/10/26
- Re: [Qemu-devel] 4k seq read splitting for virtio-blk - possible workarounds?,
Andrey Korolyov <=
- Re: [Qemu-devel] 4k seq read splitting for virtio-blk - possible workarounds?, Paolo Bonzini, 2015/10/26
- Re: [Qemu-devel] 4k seq read splitting for virtio-blk - possible workarounds?, Andrey Korolyov, 2015/10/26
- Re: [Qemu-devel] 4k seq read splitting for virtio-blk - possible workarounds?, Paolo Bonzini, 2015/10/26
- Re: [Qemu-devel] 4k seq read splitting for virtio-blk - possible workarounds?, Andrey Korolyov, 2015/10/26
- Re: [Qemu-devel] 4k seq read splitting for virtio-blk - possible workarounds?, Paolo Bonzini, 2015/10/26
- Re: [Qemu-devel] 4k seq read splitting for virtio-blk - possible workarounds?, Andrey Korolyov, 2015/10/26
- Re: [Qemu-devel] 4k seq read splitting for virtio-blk - possible workarounds?, Fam Zheng, 2015/10/26
- Re: [Qemu-devel] 4k seq read splitting for virtio-blk - possible workarounds?, Paolo Bonzini, 2015/10/27
- Re: [Qemu-devel] 4k seq read splitting for virtio-blk - possible workarounds?, Andrey Korolyov, 2015/10/30