私のセットアップのパフォーマンスはかなり良いです(geekbench、それがどのように「感じる」...)ディスクのスループット(raw lvm-partitionのlibvirt)もサーバーのrawパフォーマンスに非常に近いですbut IOP/sは、LinuxとWindowsゲストの両方で、ゲストサイドが100〜200(ホストサイドが1000に比べて)と低くなっています。
これは一緒に暮らすためのものですか(kvmはそれをうまく実行できません)、それとも完全に間違っていることをしていますか?
興味深いのは、セットアップ(qcow2とrawイメージとrawパーティション)または構成(キャッシュまたはioスケジューリング)とバリエーションを変更することでスループットに影響を与えることができたが、IOPはそれらすべてで同じ低点に留まったことです組み合わせ。
•24GB RAMを備えたsupermicroデュアルxeon E5520
•2xシーゲイトコンステレーション1TB(Adaptec 3405のRAID1)
•2xシーゲイトチーター(Adaptec 6405のRAID1)。
•ubuntu 11.10 3.0.0-13-server
•kvm/QEMUエミュレータバージョン0.14.1(qemu-kvm-0.14.1)
•ホストとゲストからのディスク(bonnie ++、hdparm)のベンチマーク(Windowsでは、bonnie ++、hdparm、hdtune)
私はいくつかのディスク構成をテストしましたが、現在の設定は次のとおりです。
(高IOパフォーマンスを「必要としない」だけなので、より快適なディスクファイルを保持します)
•星座上のlvm上のqcow2ディスクファイル
•qemu/ide
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/media/vm/images/mex/mex_root.qcow2'/>
<target dev='hda' bus='ide'/>
<address type='drive' controller='0' bus='0' unit='0'/>
</disk>
(SQL-ServerとRemote-Desktop-Servicesを実行しているので、ここでは間違いなく優れたIOパフォーマンスが必要です)
•チーターのraw lvmパーティション
•virtio
<emulator>/usr/bin/kvm</emulator>
<disk type='block' device='disk'>
<driver name='qemu' type='raw' cache='none'/>
<source dev='/dev/Cheetah/mts'/>
<target dev='vda' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
</disk>
最適な構成は(通常)以下のとおりです。
elevator=deadline
elevator=noop
noatime,nodiratime
可能な限りfstab内KVMを起動する前に、Host'sディスクのI/Oスケジューラとして「deadline」を設定してみてください。
for f in /sys/block/sd*/queue/scheduler; do echo "deadline" > $f; done
I/Oバウンドロードがある場合、 このIBMペーパー が示唆するように、これが最良の選択かもしれません。