添加E1000网卡进行测试,只有VMXNET3性能的四分之一

简介: 添加E1000网卡进行测试,只有VMXNET3性能的四分之一


我们前面介绍了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,能大幅提升网络性能。


相关文章
|
1月前
|
数据采集 监控 机器人
浅谈网页端IM技术及相关测试方法实践(包括WebSocket性能测试)
最开始转转的客服系统体系如IM、工单以及机器人等都是使用第三方的产品。但第三方产品对于转转的业务,以及客服的效率等都产生了诸多限制,所以我们决定自研替换第三方系统。下面主要分享一下网页端IM技术及相关测试方法,我们先从了解IM系统和WebSocket开始。
47 4
|
3月前
|
机器学习/深度学习 人工智能 监控
提升软件质量的关键路径:高效测试策略与实践在软件开发的宇宙中,每一行代码都如同星辰般璀璨,而将这些星辰编织成星系的过程,则依赖于严谨而高效的测试策略。本文将引领读者探索软件测试的奥秘,揭示如何通过精心设计的测试方案,不仅提升软件的性能与稳定性,还能加速产品上市的步伐,最终实现质量与效率的双重飞跃。
在软件工程的浩瀚星海中,测试不仅是发现缺陷的放大镜,更是保障软件质量的坚固防线。本文旨在探讨一种高效且创新的软件测试策略框架,它融合了传统方法的精髓与现代技术的突破,旨在为软件开发团队提供一套系统化、可执行性强的测试指引。我们将从测试规划的起点出发,沿着测试设计、执行、反馈再到持续优化的轨迹,逐步展开论述。每一步都强调实用性与前瞻性相结合,确保测试活动能够紧跟软件开发的步伐,及时适应变化,有效应对各种挑战。
|
4月前
|
测试技术 数据库 UED
Python 性能测试进阶之路:JMeter 与 Locust 的强强联合,解锁性能极限
【9月更文挑战第9天】在数字化时代,确保软件系统在高并发场景下的稳定性至关重要。Python 为此提供了丰富的性能测试工具,如 JMeter 和 Locust。JMeter 可模拟复杂请求场景,而 Locust 则能更灵活地模拟真实用户行为。结合两者优势,可全面评估系统性能并优化瓶颈。例如,在电商网站促销期间,通过 JMeter 模拟大量登录请求并用 Locust 模拟用户浏览和购物行为,可有效识别并解决性能问题,从而提升系统稳定性和用户体验。这种组合为性能测试开辟了新道路,助力应对复杂挑战。
132 2
|
7天前
|
开发框架 .NET Java
C#集合数据去重的5种方式及其性能对比测试分析
C#集合数据去重的5种方式及其性能对比测试分析
27 11
|
9天前
|
算法 Java 测试技术
使用 BenchmarkDotNet 对 .NET 代码进行性能基准测试
使用 BenchmarkDotNet 对 .NET 代码进行性能基准测试
40 13
|
9天前
|
开发框架 .NET Java
C#集合数据去重的5种方式及其性能对比测试分析
C#集合数据去重的5种方式及其性能对比测试分析
38 10
|
30天前
|
算法 Java 测试技术
Benchmark.NET:让 C# 测试程序性能变得既酷又简单
Benchmark.NET是一款专为 .NET 平台设计的性能基准测试框架,它可以帮助你测量代码的执行时间、内存使用情况等性能指标。它就像是你代码的 "健身教练",帮助你找到瓶颈,优化性能,让你的应用跑得更快、更稳!希望这个小教程能让你在追求高性能的路上越走越远,享受编程带来的无限乐趣!
87 13
|
3月前
|
监控 测试技术 PHP
性能和压力测试
【10月更文挑战第10天】性能和压力测试
126 60
|
2月前
|
并行计算 算法 测试技术
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面,旨在通过综合策略提升程序性能,满足实际需求。
65 1
|
2月前
|
缓存 Ubuntu Linux
Linux环境下测试服务器的DDR5内存性能
通过使用 `memtester`和 `sysbench`等工具,可以有效地测试Linux环境下服务器的DDR5内存性能。这些工具不仅可以评估内存的读写速度,还可以检测内存中的潜在问题,帮助确保系统的稳定性和性能。通过合理配置和使用这些工具,系统管理员可以深入了解服务器内存的性能状况,为系统优化提供数据支持。
46 4