web-dev-qa-db-ja.com

ゲストI / Oのパフォーマンスが悪いKVM Ubuntu 12.04

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

誰かが私に何が問題なのかを指摘できますか?

2
James Smith

IBMの推奨事項 に続いて、次のことを行う必要があります。

  1. ディスクのキャッシュを無効にします。 libvirtを使用する場合は、ディスクのドライバーセクションにcache='none'を入力するだけです。

  2. VMのエレベーターとしてnoopを使用して、ハイパーバイザーに処理させます。これをVMのカーネルCLとして使用します:elevator=noop

  3. ハイパーバイザーで、期限エレベーターを使用します:elevator=deadline

  4. ハイパーバイザーで、swappinessを無効にします。 vm.swappiness = 0ファイルに/etc/sysctl.confを入れます。次に、sysctl -pを使用します。

これらすべてがパフォーマンスを大幅に向上させるはずです。次に、(ハードウェア)構成を指定して、より具体的なヒントを使用できます。 IBMのドキュメントを注意深く読むことをお勧めします。

5
Heis Spiter