On Mon, Oct 30, 2017 at 6:16 PM, Martin Polednik <mpoledni@redhat.com> wrote:
As stated previously, 1 IO thread is somewhat sane choice. Multiple IO
threads make sense if you have multiple storage devices across
different NUMA nodes.

mpolednik

On Mon, Oct 30, 2017 at 4:29 PM, Darrell Budic <budic@onholyground.com> wrote:
> Best explanation I’ve found is
> https://wiki.mikejung.biz/KVM_/_Xen#virtio-blk_iothreads_.28x-data-plane.29


[snip]
 
>
> I currently enable it on all VMs and assign 1 thread per drive on my
> systems.


Thanks for sharing your experience, Darrell. 
I'm testing some VMs with Oracle RDBMS where I configured 3 disks with virtio-scsi and now I have assigned 3 IO threads. Let's see the numbers.
In the mean time I verified you have to deactivate/activate the disks in the guest, otherwise you do get 3 SCSI controllers, but all the 3 disks are bound to the first one (scsi0-0-0-0).
Now instead on hypervisor I correctly get this with dumpxml:

# virsh -r dumpxml my_guest | grep scsi
      <target dev='sda' bus='scsi'/>
      <alias name='scsi0-0-0-0'/>
      <target dev='sdb' bus='scsi'/>
      <alias name='scsi1-0-0-0'/>
      <target dev='sdc' bus='scsi'/>
      <alias name='scsi2-0-0-0'/>
    <controller type='scsi' index='0' model='virtio-scsi'>
      <alias name='scsi0'/>
    <controller type='scsi' index='1' model='virtio-scsi'>
      <alias name='scsi1'/>
    <controller type='scsi' index='2' model='virtio-scsi'>
      <alias name='scsi2'/>

Martin, I have not understood when you write about "if you have multiple storage devices across different NUMA nodes."
Can you elaborate a bit or point to any documentation link?

Thanks,
Gianluca