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回測定して、平均値を記載します。
- 準仮想化ネットワーク (virtio-net):7.01 Gbps
- Intel PRO/1000 T サーバー (82543GC):2.05 Gbps
- Intel PRO/1000 MT サーバー (82545EM):1.91 Gbps
- Intel PRO/1000 MT デスクトップ (82540EM):1.88 Gbps
- PCnet-Fast Ⅲ (Am79C973):1.03 Gbps
- PCnet-PCI Ⅱ (Am79C970A):927 Mbps
まとめ
パフォーマンスがよいといわれている virtio が Intel PRO/1000 の3倍以上高速というのが分かりました。
また、測定中 CPU を1コア占有していたため、より高速な CPU であれば、パフォーマンスも向上するかもしれません。