On 2013-11-13 16:38, Eric Blake wrote:
I don't know if qemu exposes a knob for limiting the number of
aio
helper threads it can spawn, or even if that is a good idea.
Those threads do not cause any problems, the host is dealing with a lot
of them and has no problem (CPU usage and load is incredibly low in
practice). Thank you for the clarification, I see why are there more
threads sometimes.
What domain XML are you using? Yes, there are different disk cache
policies (writethrough vs. none) which have definite performance vs.
risk tradeoffs according to the amount of IO latency you want the guest
to see; but again, the qemu list may be a better help in determining
which policy is best for your needs. Once you know the policy you want,
then we can help you figure out how to represent it in the domain XML.
I do not know exactly what is your question, but here is the relevant
part of one the guests:
<domain type='kvm' id='10'>
<name>...</name>
<uuid>...</uuid>
<memory unit='KiB'>2097152</memory>
<currentMemory unit='KiB'>1048576</currentMemory>
<vcpu placement='static'>1</vcpu>
<resource>
<partition>/machine</partition>
</resource>
<os>
<type arch='x86_64' machine='pc-i440fx-1.6'>hvm</type>
<boot dev='hd'/>
</os>
<features>
<acpi/>
<apic/>
<pae/>
</features>
<cpu mode='custom' match='exact'>
<model fallback='allow'>SandyBridge</model>
<vendor>Intel</vendor>
<feature policy='require' name='pbe'/>
...
<feature policy='require' name='monitor'/>
</cpu>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>restart</on_crash>
<devices>
<emulator>/usr/bin/qemu-kvm</emulator>
<disk type='file' device='disk'>
<driver name='qemu' type='raw'/>
<source file='/ssd/vmstorage/web1.raw'/>
<target dev='vda' bus='virtio'/>
<alias name='virtio-disk0'/>
<address type='pci' domain='0x0000' bus='0x00'
slot='0x04'
function='0x0'/>
</disk>
<disk type='file' device='disk'>
<driver name='qemu' type='raw'/>
<source file='/ssd/vmstorage/web1-1.swap'/>
<target dev='vdc' bus='virtio'/>
<alias name='virtio-disk2'/>
<address type='pci' domain='0x0000' bus='0x00'
slot='0x06'
function='0x0'/>
</disk>
...
<memballoon model='virtio'>
<alias name='balloon0'/>
<address type='pci' domain='0x0000' bus='0x00'
slot='0x05'
function='0x0'/>
</memballoon>
</devices>
<seclabel type='none'/>
</domain>
Currently, the running guests have no "cache" parameter passed to qemu,
so I guess they are using the default qemu setting which is writethrough
according to the QEMU wiki.
(
http://en.wikibooks.org/wiki/QEMU/Devices/Storage)
As I understand, moving forward towards more risk and more "performance"
I can try to experiment with "writeback" then?
i.e. <driver name='qemu' type='raw' cache="writeback" />
Cheers.
--
Üdvözlettel / Best regards
Horváth Gergely | gergely.horvath(a)inepex.com
IneTrack - Nyomkövetés egyszerűen | Inepex Kft.
Ügyfélszolgálat: support(a)inetrack.hu | +36 30 825 7646 | support.inetrack.hu
Web:
www.inetrack.hu | nyomkovetes-blog.hu |
facebook.com/inetrack
Inepex - The White Label GPS fleet-tracking platform |
www.inepex.com