Hi all!
I suspected poor performance of virtio-scsi driver.
I did a few tests:
Host machine: linux 3.19.1, QEMU emulator version 2.3.0
Guest machine: linux 4.0.4
part of domain xml:
<emulator>/usr/bin/kvm</emulator>
<disk type='block' device='disk'>
<driver name='qemu' type='raw' cache='none'
io='native' discard='unmap'/>
<source dev='/dev/ram0'/>
<backingStore/>
<target dev='sda' bus='scsi'/>
<alias name='scsi0-0-0-1'/>
<address type='drive' controller='0' bus='0'
target='0' unit='1'/>
</disk>
/dev/ram0 I got by running `modprobe brd rd_size=$((5*1024*1024))` on
host machine.
fio conf:
[readtest]
blocksize=4k
filename=/dev/sdb (/dev/ram0 whe test from host machine)
rw=randread
direct=1
buffered=0
ioengine=libaio
iodepth=32
results:
from host:
bw=1594.6MB/s, iops=408196, clat=76usec
from guest:
bw=398MB/s, iops=99720, clat=316usec
Both host and guest system I boot with `scsi_mod.use_blk_mq=Y`.
Why difference in 4 times?!
--
Vasiliy Tolstov,
e-mail: v.tolstov(a)selfip.ru
Show replies by date
Hi,
if you want to use multiqueues in guest, you need to enabled it on virtio-scsi
controller.
<controller type='scsi' index='0' model='virtio-scsi'
num_queues='8'/>
for example.
----- Mail original -----
De: "Vasiliy Tolstov" <v.tolstov(a)selfip.ru>
À: "qemu-devel" <qemu-devel(a)nongnu.org>, libvir-list(a)redhat.com
Envoyé: Lundi 8 Juin 2015 12:30:59
Objet: [Qemu-devel] poor virtio-scsi performance
Hi all!
I suspected poor performance of virtio-scsi driver.
I did a few tests:
Host machine: linux 3.19.1, QEMU emulator version 2.3.0
Guest machine: linux 4.0.4
part of domain xml:
<emulator>/usr/bin/kvm</emulator>
<disk type='block' device='disk'>
<driver name='qemu' type='raw' cache='none' io='native'
discard='unmap'/>
<source dev='/dev/ram0'/>
<backingStore/>
<target dev='sda' bus='scsi'/>
<alias name='scsi0-0-0-1'/>
<address type='drive' controller='0' bus='0' target='0'
unit='1'/>
</disk>
/dev/ram0 I got by running `modprobe brd rd_size=$((5*1024*1024))` on
host machine.
fio conf:
[readtest]
blocksize=4k
filename=/dev/sdb (/dev/ram0 whe test from host machine)
rw=randread
direct=1
buffered=0
ioengine=libaio
iodepth=32
results:
from host:
bw=1594.6MB/s, iops=408196, clat=76usec
from guest:
bw=398MB/s, iops=99720, clat=316usec
Both host and guest system I boot with `scsi_mod.use_blk_mq=Y`.
Why difference in 4 times?!
--
Vasiliy Tolstov,
e-mail: v.tolstov(a)selfip.ru