详细信息请查看参考资料的原文,这里仅翻译一些要点。
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