12.04Ubuntuホスト内で実行されているゲストVMがあります。VMはvmbuilder pythonスクリプトを使用して作成されました。
ホストでは、phoronix-test-suiteの「aio-stress」により、1600MB /秒を超えるランダム書き込みスループットのパフォーマンス速度が得られます。
VM(12.04も実行))は、約3MB /秒のランダム書き込みスループットを提供します。はるかに劣ります。- http://openbenchmarking.org/result/1301161-BY-20130116176
ディスクスループットを向上させるために、ホストでデフォルトのファイルイメージタイプをqcow2からrawに変更し、ターゲット開発として「virtio」を使用するようにvmbuilderテンプレートが編集されていることを確認しました。
これにより、速度が7.5MB /秒に向上しました。これは、私が期待する速度をはるかに下回っています。
昨年10.04(10.04 VM)を実行している同じマシンは700MB /秒のスループットを達成しました: http://openbenchmarking.org/result/1205239-BY-20120523168
誰かが私に何が問題なのかを指摘できますか?
IBMの推奨事項 に続いて、次のことを行う必要があります。
ディスクのキャッシュを無効にします。 libvirtを使用する場合は、ディスクのドライバーセクションにcache='none'
を入力するだけです。
VMのエレベーターとしてnoopを使用して、ハイパーバイザーに処理させます。これをVMのカーネルCLとして使用します:elevator=noop
ハイパーバイザーで、期限エレベーターを使用します:elevator=deadline
ハイパーバイザーで、swappinessを無効にします。 vm.swappiness = 0
ファイルに/etc/sysctl.conf
を入れます。次に、sysctl -p
を使用します。
これらすべてがパフォーマンスを大幅に向上させるはずです。次に、(ハードウェア)構成を指定して、より具体的なヒントを使用できます。 IBMのドキュメントを注意深く読むことをお勧めします。