詳細信息請查看參考資料的原文,這里僅翻譯一些要點。
VMware管理員在選擇虛擬網卡的時候有兩類選擇, 仿真型虛擬網卡和超虛擬化型的虛擬網卡。具體如下:
- 仿真型(Emulated)虛擬網卡:好處是開箱即用(out of the box), 無需VMware的外部代碼做任何事。它甚至可以用來安裝虛擬機的操作系統,因為BIOS啟動的時候它就可以使用了。不好的方面是從虛擬操作系統發出的每一幀,或收到的每一幀,都需要一些額外的處理。VMkernel不得不實時模擬Intel 82545EM或Intel 82574網卡的一模一樣的行為,這很花時間,或者說浪費CPU的周期(cycle)。
- E1000:模擬1 Gbit Intel 82545EM網卡,從Win2003往后的操作系統都可用。創建絕大多數的虛機時,它都是默認選項,所以應用得最廣泛。
- E1000E:模擬1 Gbit Intel 82574網卡,Win2012及以后的操作系統可用。
- 超虛擬化(Paravirtualized)虛擬網卡:這種網卡並不以物理網卡的方式存在,相反它是由VMware偽造的一個設備。有些Linux發行版中甚至都預裝了VMXNET3的驅動程序,而Windows中,VMXNET3的驅動程序一般是由VMware Tools提供的。虛擬機操作系統會認為這是一個由叫做VMware的廠商制造的普通網卡,正常使用就行了。
- VMXNET(已廢棄)
- VMXNET2(已廢棄)
- VMXNET3:對於操作系統而言,VMXNET3網卡看起來就像一個10Gbit 的物理設備。VMXNET3中有很多性能增強之處。
相對於E1000和E1000E中操作系統內核需要做很多對Intel那兩種網卡行為的模擬工作,VMXNET3對於虛擬環境而言就是一個特別優化過的網卡。
下圖展示了英文原文作者用iperf工具做的吞吐量測試的結果:
可以看出VMXNET3的確性能是好很多的。
參考資料
=================
VMXNET3 vs E1000E and E1000 – part 1
http://rickardnobel.se/vmxnet3-vs-e1000e-and-e1000-part-1/
VMXNET3 vs E1000E and E1000 – part 2