Thanks Stefan for your reply and guidance! We spent some time on exploring the multiple I/O Threads approach per your feedback. Based on the perf measurement data, we did see some IOPS improvement for multiple volumes, which is great. :)
In addition, IOPS for single Volume will still be a bottleneck, it seems like multiqueue block layer feature which Paolo is working on may be able to help improving the IOPS for single volume. @Paolo, @Stefan, Would you mind sharing the multiqueue feature code branch with us? So that we could get some rough idea about this feature and maybe start doing some exploration? Thanks a lot! Wei On 3/5/19, 9:29 AM, "Stefan Hajnoczi" <stefa...@redhat.com> wrote: On Mon, Mar 04, 2019 at 09:33:26AM -0800, Wei Li wrote: > While @Stefan mentioned about additional iothread object support of virtio-blk, Is the feature also supported by virtio-scsi? I am trying to exploring the perf multiple IO threads / per VM via followings: > QMP setup example to create 2 io threads in QEMU, one io thread per device: > > (QEMU) object-add qom-type=iothread id=iothread0 > > (QEMU) object-add qom-type=iothread id=iothread1 > > > > (QEMU) device_add driver=virtio-scsi-pci id=test0 iothread=iothread0 > > (QEMU) device_add driver=virtio-scsi-pci id=test1 iothread=iothread1 > > > > (QEMU) device_add driver=scsi-block drive=none0 id=v0 bus=test0.0 > > (QEMU) device_add driver=scsi-block drive=none1 id=v1 bus=test1.0 Yes, each virtio-scsi-pci device can be assigned to an iothread. > You mentioned about the multi-queue devices feature, it seems like the multi-queue feature will help improve the IOPS of single Device. Could you please provide more details? > What’s the current plan of support multi-queue device? Which release will include the support or it has already been included in any existing release newer than 2.9? > Is there any feature branch which I would get more details about the code and in progress status? I have CCed Paolo, who has worked on multiqueue block layer support in QEMU. This feature is not yet complete. The virtio-scsi device also supports multiqueue, but the QEMU block layer will still be a single queue. Stefan