KVMの仮想環境でNICによるパフォーマンスの違い

RHEL5.4のKVMでは仮想マシン(ゲスト)のデフォルトのNICはRealtek rtl8139 がエミュレーションされているのだけれども、それ以外にも選択ができる。それらについて比べてみたところ、ずいぶんと違いが出た。

ホスト、ゲストともにx86_64版RHEL5.4でnetperfを使って測定。なお、肝心のホストのハードウエア情報は残念ながら公開できないが、大きな違いがでたため、ハードウエア環境が違っても参考になると思われる。

選択可能なNICのモデルは rtl8139、e1000、virtio 以外にもあるのだけれんども、今回はこの3つのみで試した。netperfにはホスト以外のオプションは与えていない。まずはKVMのホストからゲストがダウンロードする際の速度。

nerperfのサーバがKVMホスト、クライアントがKVMゲストの場合
NICのモデル結果
rtl8139157Mbps
e1000463Mbps
virtio3979Mbps

今度はその逆。KVMのゲストからホストがダウンロードする際のパフォーマンス。

nerperfのサーバがKVMゲスト、クライアントがKVMホストの場合
NICのモデル結果
rtl813915Mbps
e10001352Mbps
virtio3101Mbps

ゲストとゲスト同士というのは値を控えていないのだけれど、これもvirtioのパフォーマンスが高く、rtl8139は極端に低い値となった。これ以外にKVMゲストと外部ホストとのパフォーマンスなども気になるところだが、それはまた機会があれば試したい。

ゲストのNICを変更するのはGUIのvirt-manager のほかに virsh でもできる。

# virsh edit GUEST

のように実行するとゲストの設定を編集できる。デフォルトのrtl8139が使われている状態では特にモデルは指定されていないので、 <interface type='network'> から </interface> の間に次のようなNICのモデルを挿入すればOK。

<model type='virtio' />

ナレッジベースにもあるように、 virt-install 時に --os-variant=virtio26 オプションを指定すれば最初からvirtioが使えるようになるので 、ゲストが対応しているのであればこのオプション付きでインストールしたほうがよいかもしれない。

NICのほかにディスクでもvirtioがつかえるのだけれんども、私の環境ではちがいはわからななかった。測定方法の問題かもしれない。

このエントリへのトラックバック

spamが増えたためトラックバック機能は停止中です。

このエントリへのコメント

spamが増えたためコメント機能は停止中です。

Information

サイト内検索

けんども日記

直近 10 件
RSS
RSS 1.0
Home@けんどもネット
diary.php(v2): 2005-06-11
Copyright © 2003-2005 Kendomo.net.