KVMのOSイメージファイルのパフォーマンス調査

前回、ゲストOSのインストールがやたら遅く、ノンスパースなrawファイル使ったら速くなったよ的なエントリーを書きましたが、KVM環境を再構築してゲストOSインストールしてみたら、どのファイルフォーマットを使っても、体感的にはあまり変わりませんでした。
ということで、ファイルフォーマットでI/Oパフォーマンスがどのくらい違うかベンチマークしてみました。


結論から言うと、なぜかddコマンドで作成したノンスパースなrawファイルが激遅という、想定外の結果となりました。
なぜ、こんなに差が出てしまったのか、原因は不明です。


(ベンチマーク方法)
以下のフォーマットでインストールしたゲストOS毎に、ddコマンドで10GBのファイル作成*1を3回実施し、その平均値を比較する。
ddコマンドによるファイル作成は、1回毎にゲストOSイメージファイルをOSインストール直後の状態に戻して行う。

    • raw(sparse)形式: "qemu-img -f raw"で作成
    • raw(non-sparse)形式: "dd if=/dev/zero of=xxx.img bs=1M count=20480"で作成
    • qcow2形式: "qemu-img -f qcow2"で作成

(環境)

(ベンチマーク結果)

    • raw(sparse)形式: 78.7 MB/s
    • raw(non-sparse)形式: 49.7 MB/s
    • qcow2形式: 61.9 MB/s

*1:$ dd if=/dev/zero of=test-file bs=1M count=10240