26
2024
02
01:07:28

VMWare ESXi中,不同的虚拟网卡性能竟然能相差三倍!

https://blog.csdn.net/gtj0617/article/details/134983622

在上个实验中VPP使用DPDK纳管主机网卡,我们已经初步实现了通过DPDK纳管主机网卡。

不知道大家注意到没有,我们在查看主机网卡的主线信息时,后面的描述信息是不一样的,可以理解为是主机的网卡信息,一个是VMXNET3类型,另一个是82574L类型。

878227e1c0be89b221cb9b042fbd62dc.png

其实这个是和配置主机时选择的适配器类型相对应的,适配器类型选择VMXNET3,在主机上看到的就是VMXNET3;如果选择的是E1000e,显示就成了82574L了。

f33ae18fa4814b068dace674c6e9fc7a.png

当然,还有一个SR-IOV直通,指的就是Single Root I/O Virtualization了,据说是将一个物理网卡虚拟出来多个轻量化的PCI-e物理设备,再分配给虚拟机使用。启用SR-IOV直通之后,将大大减轻宿主机的CPU负荷,提高网络性能,降低网络时延等。

但是很不幸,我的服务器网卡(型号BCM5719)不支持。

70717e6de17edb41ba7a413678b01def.png

那E1000e和VMXNET3这两种类型有什么区别呢?

E1000e虚拟网络适配器模拟的是千兆网卡,而VMXNET3则模拟的是万兆网卡,而且这两种虚拟网络适配器可以没有物理网卡对应,也就是不需要借助底层的硬件网卡,并且通过对虚拟机中的性能进行优化,使得虚拟机之间的网络交换不受底层网卡的限制。比如我的服务器,底层都是千兆电口网卡,而主机转发却可以达到万兆,就是这个原因。

所以,VMware ESXi的最佳实践应该是使用VMXNET3虚拟NIC,除非存在无法使用特定驱动程序或兼容性等原因,建议使用VMXNET3来替换掉E1000e,以有效提升网络性能。

这么说准确吗?那今天的主要任务,就是测试一下这两种网卡的性能差距主要有多大。

6aca3c508c2fd81b4873b08058d3d2de.png

测试1:VMXNET3直连

将两台主机的适配器类型都配置为VMXNET3,并连接在同一个端口组下。

ce4e7f5357c2d321a3813518484bdd2c.png

用iperf3打流测试,带宽竟然不止万兆,达到了11.6 Gbps。

48a2ff940e1b5854a011bf43b5b7d18e.png

68778674adc42dad55bd80f1d763a842.png

测试2:E1000e直连

将两台主机的适配器类型都配置为E1000e,并连接在同一个端口组下。

1b818ce4374e56b88f31180137fec069.png

用iperf3打流测试,带宽比千兆好一些,达到了4.24 Gbps,相比VMXNET3,只有三分之一的性能。

b663175aa685c5c502b3474b94b8b9ca.png

631561020c2a79d9bf18901b35824ce3.png

测试3:E1000e和VMXNET3对接1

将一台主机142的适配器类型配置为E1000e,另一台主机141的适配器类型配置为VMXNET3,并将两台主机连接在同一个端口组下。

先用适配器类型为E1000e的主机142作为服务器,打流测试,带宽为6.12 Gbps,介于前两次测试之间。

2c328b15152af9a6ae3d6d185e8fa427.png

再用适配器类型为VMXNET3的主机141作为服务器,打流测试,带宽为7.01 Gbps,优于使用主机使用E1000e作为服务器的场景。

2b58524cba6499fb408f1f9f5f1db0d2.png

f707983147e1cb37d430226c93a54e90.png

测试4:E1000e和VMXNET3对接2

为了避免主机的影响,我将两台主机的网卡配置对调了一下,并将两台主机连接在同一个端口组下。

同样的,先用适配器类型为E1000e的主机141作为服务器,打流测试,带宽为7.01 Gbps。

3417f5f5e4d93666fd1ab85b9451783e.png

再用适配器类型为VMXNET3的主机142作为服务器,打流测试,带宽为6.71 Gbps,比6.12 Gbps这个值稍好一点。

fae3c6a58a1a20a9227c014d4fc5da7d.png

053102fec09812666d314c03bd80f571.png

总结

07cdac4cbbf5ac489a44d658fb1dcb46.png

通过本次的4个测试可知,VMWare ESXi通过对虚拟机的性能进行优化,使得虚拟机之间的网络交换不受底层网卡的限制。虽然E1000e模拟的是千兆网卡,但实际性能仍然不止千兆;虽然VMXNET3模拟的是万兆网卡,实际性能也可以超出万兆。两者底层都不需要对应物理网卡,这点是SR-IOV直通所不支持的。

通过组合对比,E1000e网卡的转发性能最差,只有VMXNET3网卡的三分之一,当两者组合使用时,转发性能大概能达到VMXNET3网卡的三分之二左右。

所以,最起码我们可以确认,VMware ESXi 6.7的最佳实践就是配置虚拟机的网络适配器类型为VMXNET3,相比于E1000e,能大幅提升网络性能。




推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

本文链接:https://hqyman.cn/post/5226.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:
打赏





休息一下~~


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请先 登录 再评论,若不是会员请先 注册

您的IP地址是: