VirtualBox の virtio(準仮想化)・Intel・PCnet のアダプターでパフォーマンスを比較してみる


VirtualBox でネットワークを使用する際、バージョン 6.1.10 の場合アダプタータイプとして下記の6つが選べます。

  • PCnet-PCI Ⅱ (Am79C970A)
  • PCnet-Fast Ⅲ (Am79C973)
  • Intel PRO/1000 MT デスクトップ (82540EM)
  • Intel PRO/1000 T サーバー (82543GC)
  • Intel PRO/1000 MT サーバー (82545EM)
  • 準仮想化ネットワーク (virtio-net)

VirtualBox のマニュアルによると、virtio はハードウェアのエミュレーションを行わないため、最も性能が高いとのことです。

ただし、Windows ゲストの場合は標準のドライバでは対応していないため、下記のページからドライバをダウンロードする必要はあります。

自分も VirtualBox を利用する際は、できるだけ virtio を使用するようにしています。

ただ、どれくらい早いのというのは理解していなかったので実際に iperf3 でベンチマークを取ってみました。

測定環境

同一のホスト、同一の仮想ネットワーク内に二つ下記の仮想マシンを立てて検証しました。

  • ホスト CPU:Intel Core i5 2405S
  • ホスト OS:Windows 10 Version 2004 64bit
  • ハイパーバイザー:VirtualBox 6.1.10
  • ゲスト OS:Ubuntu 20.04 Kernel 5.4.0-40
  • 速度測定に使用したツール:iperf 3.7

測定結果

3回測定して、平均値を記載します。

  1. 準仮想化ネットワーク (virtio-net):7.01 Gbps
  2. Intel PRO/1000 T サーバー (82543GC):2.05 Gbps
  3. Intel PRO/1000 MT サーバー (82545EM):1.91 Gbps
  4. Intel PRO/1000 MT デスクトップ (82540EM):1.88 Gbps
  5. PCnet-Fast Ⅲ (Am79C973):1.03 Gbps
  6. PCnet-PCI Ⅱ (Am79C970A):927 Mbps

まとめ

パフォーマンスがよいといわれている virtio が Intel PRO/1000 の3倍以上高速というのが分かりました。

また、測定中 CPU を1コア占有していたため、より高速な CPU であれば、パフォーマンスも向上するかもしれません。


Comments

comments

コメントを残す

メールアドレスが公開されることはありません。

*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)