正文共:1444 字 14 图,预估阅读时间:2 分钟
我们前面介绍了VMware ESXi 6.7中的适配器类型性能(VMWare ESXi中,不同的虚拟网卡性能竟然能相差三倍!),当时的配置项主要为E1000e和VMXNET3,性能相差大概有3倍之多。
后来给服务器升级到了7.0U3版本(豁出去了,真机带业务演示一把ESXi 6.7升级7.0 U3),记得当时还说7.0版本改进了存储和网络等功能,可以提供更好的性能和可靠性,正好借此机会小测一下。
碰巧的是,我现在查看适配器类型,可以看到有E1000、E1000e、SR-IOV直通和VMXNET3共4种类型,相比上次我们测试的多了两种。
首先说明一下,因为服务器的配置问题,暂时不支持配置为SR-IOV直通类型。SR-IOV(Single Root I/O Virtualization)是一种将PCIe设备(如网卡)共享给虚拟机的技术,允许将一个单一的物理设备(如网卡或GPU)被虚拟化并分配给多个虚拟机,通过为虚拟机提供独立的内存空间、中断、DMA流,来绕过VMM实现数据访问,进而达到优化资源分配、降低延迟、提高性能和增强安全性等效果。
但主要是因为我的网卡为板载网卡,从ILO中进行查看,可以看到网卡位置是Embedded,指服务器内置的,非PCIe设备,暂不支持直通。
在网络中查看物理网卡详细信息,可以看到“直接路径IO支持”状态也是“否”。
同样的,我们还可以在管理页面的“硬件”页签中查看PCI设备,其中网卡的SR-IOV状态为“不支持”。不过别着急,我最近已经在研究买一块PCIe网卡了,到时候可以再试一试。
回到虚拟机网卡配置中,如果我们将适配器类型选择为“SR-IOV直通”,则物理功能没有可选项,配置失败。
如果我们将适配器类型选择为“E1000e”,在Windows系统中,我们会看到识别的网卡型号是82574L,该虚拟网卡模拟的就是1 Gbit速率的Intel 82574网络适配器,特别针对Windows 2012或更高版本进行了性能优化。
如果我们将适配器类型选择为“E1000”,在Windows系统中,我们会看到识别的网卡型号是PRO/1000 MT,经查,该虚拟网卡模拟的是1 Gbit速率的Intel 82545EM网络适配器,可以支持Windows Server 2003及以后的操作系统版本。
而如果我们直接将适配器类型修改为“VMXNET3”,在Windows系统中,会出现识别异常的情况。
此时,需要连接网络进行驱动更新,更新完成之后,识别的网络类型为vmxnet3,和选择的类型描述相同,是一种半虚拟化适配器,通过前面的测试(VMWare ESXi中,不同的虚拟网卡性能竟然能相差三倍!),我们可以发现它提供了更好的性能,对操作系统而言,VMXNET3看起来像一个10 Gbit速率的物理网卡。
具体能选择哪些适配器类型,我发现和客户机操作系统相关,常用的操作系统类型和支持的适配器类型如下所示。
所以,VMware ESXi的网卡选择顺序应该是SR-IOV > VMXNET3 > E1000e > E1000,如果存在无法使用特定驱动程序或兼容性等原因,建议按照推荐顺序以及选择,以有效提升网络性能。
所以今天的主要任务是测试一下在ESXi 7.0U3中,这三种网卡的性能差距到底有多大。
因为只有Windows桌面系统支持E1000网卡,所以我们本次用Windows 10专业版来做个简单的性能测试。为了测试相对公平,我们新建两台虚拟机,使用相同安装镜像版本,均启用Windows基于虚拟化的安全性,配置8核CPU、8 GB内存,份额均配置为高,力争提高性能;硬盘均使用精简置备的100 GB磁盘;挂载4块网卡,除管理网卡之外,另外3块网卡分别使用E1000、E1000e和VMXNET3类型,并且接入到同一个vSwitch中。
安装完操作系统之后,确认网卡状态正常,开始测试。
测试1:VMXNET3直连
选择两台主机的VMXNET3网卡,配置好IP地址,用iperf2进行打流测试。
经过6次测试(线程2、4、8,对调服务端和客户端),测得最大瞬时带宽为20.2 Gbps,平均带宽值为19.3 Gbps。
测试2:E1000e直连
选择两台主机的E1000e网卡,配置好IP地址,用iperf2进行打流测试。
经过6次测试,测得最大瞬时带宽为11.2 Gbps,平均带宽值为8.77 Gbps。
测试3:E1000直连
选择两台主机的E1000网卡,配置好IP地址,用iperf2进行打流测试。
经过6次测试,测得最大瞬时带宽为5.75 Gbps,平均带宽值为4.97 Gbps。
总结
通过本次的3个测试可知,VMWare ESXi通过对虚拟机的性能进行优化,使得虚拟机之间的网络交换不受底层网卡的限制。虽然E1000和E1000e模拟的是千兆网卡,但实际性能仍然不止千兆;虽然VMXNET3模拟的是万兆网卡,实际性能也可以超出万兆。两者底层都不需要对应物理网卡,这点是SR-IOV直通所不支持的。
通过组合对比,E1000网卡的转发性能最差,E1000e的性能大概能达到E1000的两倍,而VMXNET3的性能大概接近E1000的四倍;在本次测试中,VMXNET3的性能大概只有E1000e性能的两倍,比Linux系统测得的三倍数据稍低。当然,不排除操作系统和测试工具的问题(79.55 Gbps!已经初步测得VMWare ESXi 6.7的vSwitch转发性能),因为我们之前都是使用iperf3的单线程测试的,数据可能存在偏差。
所以,最起码我们可以确认,VMware ESXi 7.0U3的最佳实践依旧是配置虚拟机的网络适配器类型为VMXNET3,相比于E1000e和E1000,能大幅提升网络性能。
长按二维码
关注我们吧
79.55 Gbps!已经初步测得VMWare ESXi 6.7的vSwitch转发性能
VMWare ESXi 7.0的磁盘空间莫名少了120 GB?看这里!
VMWare ESXi中,不同的虚拟网卡性能竟然能相差三倍!
如何操作VMware ESXi虚拟机的迁移?
如何操作VMware ESXi虚拟机的克隆?
ESXi的超线程状态为“已禁用”,是谁动了我的服务器?
VMware存储管理命令vmkfstools使用指南
VMware使用vmkfstools命令将厚置备虚拟机磁盘转为精简置备
不想用了PVE了怎么办?那就迁移到VMware呗!
macOS unlocker 4.0.5 for VMware ESXi 7.0
如何手工获取并更新ESXi中macOS的VMware Tools版本
手撸一个自动搭建openVPN服务器的SHELL脚本
Windows部署TensorFlow后识别GPU失败,原因是啥?
MSR810使用iMC做认证服务器配置Portal认证
如何在最新版的HCL 5.10.0中导入NFV镜像?