試験運用中なLinux備忘録・旧記事

はてなダイアリーで公開していた2007年5月-2015年3月の記事を保存しています。

QEMU/KVMの処理速度の現状について

ディストリが違うこともあり、条件が結構異なるとは思うのだが、CPUを使用する処理速度の比較として、id:hirose31:20070508:1178636273と同じ実験を行ってみた。ただし、入力ファイルのサイズは大幅に増やし、cpufreqは最低クロック固定にした。

  1. 環境
  2. 実験
  3. 結果

環境

更に、比較のため、VirtualBox上のDebian lenny(32bit版)も用意した。

実験

ランダムデータを作成して、まずホストOS上で実行。

$ dd if=/dev/urandom of=infile bs=1M count=100
$ time openssl enc -aes256 -in infile -out out -k hoge
(ホストの結果表示)

同じ元データを使用するために、先ほど作成したランダムデータは、CDイメージ経由でゲストOSに渡す(ネットワークの調子が悪いため、SFTPは使えなかった)。

$ mkisofs -o test.iso infile
$ qemu-system-x86_64 [HDDイメージ] -cdrom test.iso -boot c -m 256 &

ゲストOS上の作業は、QEMU/KVM上のOSとVirtualBox上のOSとでそれぞれ行った。

guest# mount -t iso9660 /dev/cdrom /media/cdrom
guest# cp /media/cdrom/infile .
guest# time openssl enc -aes256 -in infile -out out -k hoge
(ゲストの結果表示)

ホスト・ゲストとも、最初の数回は時間が長くかかるので、処理時間が落ち着くまで繰り返した後、5回続けて実行した平均を計算した(初回実行時の比較ではない点に注意)。

結果

openssl enc -aes256 -in infile -out out -k hogeの平均処理時間
環境平均処理時間(real)
ホストOS上4.205
VirtualBox 1.5.2(AMD-Vオフ)4.560
VirtualBox 1.5.2(AMD-Vオン)4.756
KVM 516.157

[引用]http://web.archive.org/web/20080511181058/http://blogs.dion.ne.jp/kazuu/archives/4914924.htmlVirtualBoxの速さ」より

サイトにある解説を読んでいると、Intel VT/AMD-Vは、使うとかえって遅くなったりするから積極的には使わないんだという記述があったりして面白いです。

という話もあるように、現状では高速化のために効果を発揮するとは言えないことを裏付けてしまう結果となった。今後の性能アップに期待。

使用したバージョン: