https://zhuanlan.zhihu.com/p/525656364

正文共:1024 字 11 图,预估阅读时间:1 分钟

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

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

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

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

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

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

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

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

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

测试1:VMXNET3直连

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

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

测试2:E1000e直连

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

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

测试3:E1000e和VMXNET3对接1

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

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

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

测试4:E1000e和VMXNET3对接2

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

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

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

总结

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

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

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

[转帖]VMWare ESXi中,不同的虚拟网卡性能竟然能相差三倍!的更多相关文章

  1. [转载]在Vmware ESXI中安装群晖Synology DSM 5.0 (4528)

    转载 在Vmware ESXI中安装群晖Synology DSM 5.0 (4528) 文件准备 Vmware ESXi用户安装需要的文件 NB_x64_5032_DSM_50-4528_Xpenol ...

  2. 如何在 vmware esxi 中开放 VNC功能及端口实现远程管理 完整篇

    VMWare esxi中开放 VNC功能及端口实现远程管理 完整篇 在多个论坛上看了相关文章,总的写得不完整.现将各方资源整编写完整版.详文如下! (图片来自51CTO) 步骤1. 修改ESXi主机的 ...

  3. VMware Workstation下VMnet1等虚拟网卡与主机网卡之间的关系

    VMware Workstation下VMnet1等虚拟网卡与主机网卡之间的关系 本文出自 "王春海的博客" http://wangchunhai.blog.51cto.com/2 ...

  4. 解决Windows Server 2012 在VMware ESXi中经常自动断网问题

    最近一些开发人员反映他们使用的 Windows server2012 R2 虚拟机过段时间就远程连接不上了,ping也不通(已关闭防火墙),我们登录ESXi发现,Windows Server 的网络图 ...

  5. 解决vmware安装 win7 后 没有虚拟网卡驱动 不能上网的问题

    项目需要用到win7 32位系统,于是装个虚拟机,换了好几个系统资源,都是没有网卡驱动, XP 2003 都能上网唯独WIN7 不行,安装vmware tools也不管用,终于找到了这个东西.vmwa ...

  6. 关于Hyper-V虚拟机中的vEthernet虚拟网卡不能联网的问题

    Hyper-V虚拟机在我电脑里面已经有一年了,当初是因为windows8系统里面需要装Hyper-V,这样才能不让win8死机,就折腾了一整子,结果碰到vEthernet网卡不能联网,网上相关的资料少 ...

  7. vmware安装找不到虚拟网卡解决方案

    前一段实际,win7升级到win10发现vmware12没有虚拟网卡vnet1/vnet8.这不坑爹吗,没网卡能通信吗? 在网上搜寻一下发现可以重置网络,即可再次安装虚拟网卡...算是对问题的记录学习 ...

  8. 让VMware ESXi虚拟交换机支持VLAN

    眼下虚拟化应用比較广泛,通常情况下.一台物理主机在安装VMware ESXi或Hyper-V虚拟机软件后.能够在一台物理主机上创建多个虚拟机,而且创建的每一个虚拟机能够像原来的物理一样对外提供服务,这 ...

  9. Hyper-V架构与VMware ESXi的差异

    微软的Hyper-V与VMware的ESXi在架构上有众多不同,然而很多虚拟化管理员并未意识到这些差异.而且很多管理员同样对Hyper-V是在主机操作系统上运行感到困惑. 有关微软Hyper-V的一个 ...

  10. [转帖]VMware Vsphere 6.0安装部署 (三) vCenter Server安装

    VMware Vsphere 6.0安装部署 (三) vCenter Server安装 2016年08月29日 14:59:14 dAng1r0Us 阅读数:72942   版权声明:本文为博主原创文 ...

随机推荐

  1. node.js 命令必须加 npx 才能执行

    问题描述 在 Windows 上搭建 Hexo 环境,已经从官网下载安装 node-v18.18.2-x64.msi,并且通过 npm 命令成功安装 hexo. PowerShell 中,直接执行 h ...

  2. Provider MVVM架构

    MVVM架构分为M(Model).V(View).VM(ViewModel)三个部分,他们分别处理自己的分工,在View和Model之间使用ViewModel作为中介者,使View和Model不受业务 ...

  3. 技术实践丨基于MindSpore框架Yolov3-darknet模型的篮球动作检测体验

    摘要:通过对篮球动作的分类训练及识别检测实例的讲解和体验,使我们了解了Yolov3模型的原理.架构等基本知识,为日后的深入学习奠定了基础. 背靠全新的设计理念,华为云推出了 MindSpore深度学习 ...

  4. 分布式缓存服务DCS:企业版性能更强,稳定性更高

    摘要:企业版性能指标达到业界TOP1,行业领先30%,内核态实现真正多线程. 一.背景介绍 近年来,随着各行业业务需求急速增加,数据量和并发访问量呈指数级增长,原来只能依附于关系型数据库的传统&quo ...

  5. 深度解析9种ScheduledThreadPoolExecutor的构造方法

    摘要:今天我们就来一起手撕ScheduledThreadPoolExecutor类的源代码. 本文分享自华为云社区<深度解析ScheduledThreadPoolExecutor类的源代码> ...

  6. 全文手敲代码,教你用Java实现扫雷小游戏

    摘要:本程序共封装了五个类,分别是主类GameWin类,绘制底层地图和绘制顶层地图的类MapBottom类和MapTop类,绘制底层数字的类BottomNum类,以及初始化地雷的BottomRay类和 ...

  7. 技术架构+应用场景揭秘,为什么高斯Redis比开源香?

    摘要:高斯Redis即保留了开源Redis的能力,同时凭借其存算分离的架构,在成本.稳定性.可靠性.一致性等方面做出了新的突破,也更加适用于当下数据规模庞大的互联网业务. 本文分享自华为云社区< ...

  8. 10个问题让你快速避开java中的jdbc常见坑

    摘要:JDBC,即Java Database Connectivity,java数据库连接.是一种用于执行SQL语句的Java API,它是Java中的数据库连接规范. 本文分享自华为云社区<1 ...

  9. OGC标准WMTS服务概念与地图商的瓦片编号流派-web地图切片加载

    还不知道地图栅格化切片等相关GIS原理的,推荐阅读<webGIS底图栅格化与实时数据合成处理原理,地图API设计,xyz加载> OGC概念 OGC全称--开放地理空间信息联盟(Open G ...

  10. Spring事务传播机制解析

    确保数据一致性的关键 在Java的Spring框架中,事务管理是保证应用数据一致性和可靠性的关键.Spring提供了灵活的事务传播机制,它定义了事务边界,以及在嵌套方法调用时如何处理事务.本文旨在深入 ...