添加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月前
|
机器学习/深度学习 人工智能 监控
提升软件质量的关键路径:高效测试策略与实践在软件开发的宇宙中,每一行代码都如同星辰般璀璨,而将这些星辰编织成星系的过程,则依赖于严谨而高效的测试策略。本文将引领读者探索软件测试的奥秘,揭示如何通过精心设计的测试方案,不仅提升软件的性能与稳定性,还能加速产品上市的步伐,最终实现质量与效率的双重飞跃。
在软件工程的浩瀚星海中,测试不仅是发现缺陷的放大镜,更是保障软件质量的坚固防线。本文旨在探讨一种高效且创新的软件测试策略框架,它融合了传统方法的精髓与现代技术的突破,旨在为软件开发团队提供一套系统化、可执行性强的测试指引。我们将从测试规划的起点出发,沿着测试设计、执行、反馈再到持续优化的轨迹,逐步展开论述。每一步都强调实用性与前瞻性相结合,确保测试活动能够紧跟软件开发的步伐,及时适应变化,有效应对各种挑战。
|
2月前
|
测试技术 数据库 UED
Python 性能测试进阶之路:JMeter 与 Locust 的强强联合,解锁性能极限
【9月更文挑战第9天】在数字化时代,确保软件系统在高并发场景下的稳定性至关重要。Python 为此提供了丰富的性能测试工具,如 JMeter 和 Locust。JMeter 可模拟复杂请求场景,而 Locust 则能更灵活地模拟真实用户行为。结合两者优势,可全面评估系统性能并优化瓶颈。例如,在电商网站促销期间,通过 JMeter 模拟大量登录请求并用 Locust 模拟用户浏览和购物行为,可有效识别并解决性能问题,从而提升系统稳定性和用户体验。这种组合为性能测试开辟了新道路,助力应对复杂挑战。
107 2
|
1月前
|
监控 测试技术 PHP
性能和压力测试
【10月更文挑战第10天】性能和压力测试
111 60
|
4月前
|
SQL 安全 Java
探索软件测试的多维策略:从单元到集成,再到性能与安全
在软件开发生命周期中,测试是不可或缺的一环。本文将深入探讨软件测试的多维策略,从单元测试、集成测试到性能测试和安全测试等各个层面进行剖析。我们将通过具体的统计数据和案例分析,揭示不同测试策略的优势和应用场景。文章旨在为读者提供一个全面的测试框架,帮助他们构建更稳定、高效和安全的系统。
95 2
|
2月前
|
缓存 Java 测试技术
谷粒商城笔记+踩坑(11)——性能压测和调优,JMeter压力测试+jvisualvm监控性能+资源动静分离+修改堆内存
使用JMeter对项目各个接口进行压力测试,并对前端进行动静分离优化,优化三级分类查询接口的性能
谷粒商城笔记+踩坑(11)——性能压测和调优,JMeter压力测试+jvisualvm监控性能+资源动静分离+修改堆内存
|
30天前
|
测试技术 PHP 开发工具
php性能监测模块XHProf安装与测试
【10月更文挑战第13天】php性能监测模块XHProf安装与测试
29 0
|
2月前
|
敏捷开发 安全 测试技术
软件测试的艺术:确保质量与性能的平衡之道
【9月更文挑战第24天】在软件开发的海洋中,测试是导航灯塔,指引着项目安全抵达质量的彼岸。本文将深入探讨软件测试的核心原则、方法论以及如何通过精心设计的测试策略来保障产品的可靠性和性能。我们将从测试的基础知识出发,逐步深入到高级测试技巧,最终展示如何通过实际案例来应用这些知识以确保软件的成功交付。
|
2月前
|
测试技术 Python
软件测试的艺术:确保质量与性能
【9月更文挑战第19天】在数字化时代,软件已成为我们生活的一部分。然而,随着软件复杂性的增加,如何确保其质量和性能成为了一个挑战。本文将探讨软件测试的重要性,介绍常见的测试类型和策略,并提供实用的代码示例来帮助读者更好地理解和应用这些测试方法。无论你是开发人员、测试工程师还是项目管理者,这篇文章都将为你提供有价值的见解和技巧。
|
2月前
|
存储 Java 关系型数据库
“代码界的魔法师:揭秘Micronaut框架下如何用测试驱动开发将简单图书管理系统变成性能怪兽!
【9月更文挑战第6天】Micronaut框架凭借其轻量级和高性能特性,在Java应用开发中备受青睐。本文通过一个图书管理系统的案例,介绍了在Micronaut下从单元测试到集成测试的全流程。首先,我们使用`@MicronautTest`注解编写了一个简单的`BookService`单元测试,验证添加图书功能;接着,通过集成测试验证了`BookService`与数据库的交互。整个过程展示了Micronaut强大的依赖注入和测试支持,使测试编写变得更加高效和简单。
76 4
|
3月前
|
消息中间件 Kafka 测试技术
【Azure 事件中心】使用Kafka的性能测试工具(kafka-producer-perf-test)测试生产者发送消息到Azure Event Hub的性能
【Azure 事件中心】使用Kafka的性能测试工具(kafka-producer-perf-test)测试生产者发送消息到Azure Event Hub的性能

热门文章

最新文章