FreeBSD Daily Topics

2011年12月16日FreeBSD VirtIO-Net / VirtualBoxベンチマーク結果 - 19倍の高速化確認

virtualization

netperf benchmark of the FreeBSD VirtIO Net on VirtualBox

前回までの説明で、VirtualBoxで準仮想化ネットワーク(virtio-net)の機能を有効にする方法、FreeBSD 10-CURRENTゲストで準仮想化ネットワーク(if_vtnet(4))を利用する方法を紹介しました。構築したネットワークがそれぞれ性能にどのような違いをもたらしているのかを、netperf (benchmarks/netperf)を使って計測した結果を紹介します。

比較はFreeBSD AからFreeBSD Bへのnetperf実行にて実施しました。どちらも10-CURRENTです。FreeBSD AではVirtualBox 4.1.6が動作しており、そこでVirtIOを有効していないFreeBSD 10-CURRENTと、VirtIOを有効にしたFreeBSD 10-CURRENTをゲストOSとして実行させています。この状態で次の3つの経路をnetperfにて計測しました。

  • FreeBSD A - FreeBSD B
  • FreeBSD on VirtualBox on FreeBSD A - FreeBSD B
  • FreeBSD(vtnet) on VirtualBox(virtio-net) on FreeBSD A - FreeBSD B

netperfが示したスループットの平均値は次のとおりです。今回のケースではVirtIOを使った場合の性能がネイティブな性能に匹敵するレベルまで高速化されていることを確認できます。もちろんこの結果は利用するLANの帯域やPCの性能によって変化します。あくまでもひとつの目安と見てください。

 netperf性能比較結果
 スループット[Mbps]
FreeBSDホスト934
FreeBSDゲスト on VBox + VirtIO-Net851
FreeBSDゲスト on VBox45
図1 netperf性能比較結果
図1 netperf性能比較結果

それぞれ10回計測した結果の平均値を記載してあります。FreeBSD AからFreeBSD Bへの計測では、計測結果にほとんどブレがなく、毎回ほとんど同じ値を示しました。一方、仮想環境からの計測はブレが大きくでました。特にフルエミュレーションのEthernetドライバの場合は大きなブレが観測されました。VirtIOを経由した場合にはブレが小さくなりましたが、ホストから通信している場合に比べるとそれでも大きなブレ幅でした。

これまで、こうしたタイプの仮想環境で動作するFreeBSDはネットワーク性能が低いと指摘されることがありましたが、今回のVirtIOの取り込みは、こうした要望に応えるものとなります。単純な比較ですが大幅に性能が向上していることが確認できます。今回の例ではだいたい19倍の高速化を確認できたことになります。

おすすめ記事

記事・ニュース一覧