必威体育Betway必威体育官网
当前位置:首页 > IT技术

E1000 与 VMXNET3的 区别

时间:2019-10-14 01:15:53来源:IT技术作者:seo实验室小编阅读:88次「手机版」
 

e1000

e1000E和E1000相比,VMXNET3的网络性能更好。本文将解释虚拟网络适配器和第2部分之间的区别,并将演示通过选择半虚拟化适配器可以获得多少网络性能。

VMware管理员可以将几个不同的虚拟网络适配器附加到虚拟机上。虚拟适配器属于两个组中的任何一个:

e1000-emulated

模拟的:这些虚拟硬件模拟真实的现有物理网络适配器。(注意,物理ESXi主机中的物理网卡是完全不相关的。)VMkernel将向客户操作系统提供一些东西,这些东西看起来就像一些特定的现实世界硬件,客户可以通过即插即用的方式检测它们,并使用本地设备驱动程序。仿真设备的例子如下:

E1000将模拟1 Gbit Intel 82545EM卡,自2003年windows Server生成以来,适用于大多数操作系统。在创建几乎所有虚拟机时,该卡都是默认的,并被广泛使用。E1000E模拟了一个新的真正的网络适配器,1 Gbit Intel 82574,适用于Windows 2012或更高版本。E1000E需要VM硬件版本8或更高版本。

vmxnet-8a

上面的Windows 2008 R2中使用了一个模拟的E1000适配器,其中使用了本机客户操作系统设备驱动程序。仿真网络适配器的优点是它们可以开箱即用,不需要来自VMware的外部代码。它甚至可以用于(如果需要的话)由PXE安装客户操作系统,因为E1000设备在BiOS启动时就已经可用了。消极的一面是,当使用默认的模拟适配器时,从客户操作系统发送或接收的每一帧都需要额外的工作(可能每秒数千帧)。VMkernel必须实时模拟特定Intel 82545EM或82574卡的确切行为,这将花费时间和cpu周期。vmxnet3-paravirtualized-a

半虚拟化:

另一种类型的虚拟网络适配器是半虚拟化的。最近的一个是VMXNET3。半虚拟化网卡不作为物理NIC存在,而是完全由VMware组成的设备。对于客户操作系统,这意味着通常在OS安装阶段,它只感觉到一个未知的设备位于(虚拟)主板上的PCI插槽中,但是它没有实际使用它的驱动程序。(注意:有些linux发行版甚至预装了VMXNET3驱动程序。)

vmxnet-driver

对于Windows Server,当提供设备驱动程序(通常通过安装VMware工具)时,客户操作系统会将其视为来自某个名为VMware的网卡制造商的真实NIC,并将其用作普通的网络适配器。它没有理由相信任何事情,除了这是一个NIC就像任何其他NIC在周围。

对于客户操作系统,VMXNET3卡看起来像一个10 Gbit的物理设备。注意:还有两个过时的半虚拟化适配器称为VMXNET和VMXNET2(有时是增强的VMXNET),但是只要虚拟机至少有硬件版本7,就应该只使用VMXNET3适配器。由于VMware使用VMXNET3卡拥有更多的网络组件,甚至在VM内部也可以实现许多性能增强。使用模拟的E1000/E1000E,内核必须对客户模拟现有适配器的确切行为,但是使用VMXNET3,它可以创建一个完美的虚拟适配器,优化后可以在虚拟环境中使用。在本文的第2部分中,我们将看到性能差异究竟有多大。

与仿真的E1000E和E1000相比,VMware半虚拟化VMXNET3的网络性能更好。在第一篇文章中解释了适配器类型之间的一般区别。在本文中,我们将测试当今最常见的两种Windows操作系统:Windows 2008 R2和Windows 2012 R2中的网络吞吐量,并查看VMXNET3与E1000和E1000E的性能。

vmxnet3-iperf-1

为了生成大量的网络流量,我使用了运行在两台虚拟机上的iperf工具,一台是iperf客户机,另一台是服务器。我发现以下iperf设置生成的最佳组合网络吞吐量测试Windows Server:服务器:iperf - s - w 64 k - l 128 k客户:iperf - c <服务器ip > 30 - p 16 - w 64 k - l 128 k - t测试是惠普把Bl460c Gen8的虚拟机是相同的物理主机上运行能够看到物理网络的网络性能,无论物理主机/叶片之间的联系。

E1000、E1000E和VMXNET3上的所有设置都是默认设置。关于VMXNET3卡设置可能的调整的更多信息将在后面的文章中解释。(当然,需要注意的是,以下结果只是对一个特定硬件和ESXi配置的测试的观察结果,并不是科学研究。)

Test 1: Windows 2008 R2 with the default E1000 adapter

vmxnet-10

两个Windows 2008 R2虚拟机,一个作为iperf服务器,另一个作为客户机,测试在30秒内运行。正如在任务管理器视图中所指出的,1 Gbit链接速度已经达到了最大值。一个比较有趣的事实是,即使使用模拟的E1000适配器,也可以在1 Gbit链接上使用更多的适配器。

e1000

从iperf客户机输出可以看到,使用默认的E1000虚拟适配器,我们可以达到每秒2.65 Gbit的总吞吐量。

Test 2: Windows 2008 R2 with the VMXNET3 adapter

vmxnet-12

The Task Manager view reports utilization around 39% of the 10 Gbit link in the Iperf client VM.

vmxnet3-2008r2-iperf

The iperf output shows a total throughput for VMXNET3 of 4.47 Gbit / second over the time the test was conducted.

The VMXNET3 adapter demonstrates almost 70 % better network throughput than the E1000 card on Windows 2008 R2.

Test 3: Windows 2012 R2 with the E1000E adapter

e1000e-3

E1000E是E1000更新、更强大的版本。对于客户操作系统,它看起来像物理适配器Intel 82547网络接口卡。然而,即使它是一个较新的适配器,它实际上提供的吞吐量也低于E1000适配器。

e1000e-2

Two virtual machines running Windows 2012 R2 with the iperf tool running as client and server.

e1000e-nic

E1000E got 1.88 Gbit / sec, which is considerable lower than the 2.65 Gbit/s for the original E1000 on Windows 2008 R2.

Test 4: Windows 2012 R2 with the VMXNET3 adapter

vmxnet-2

The two Windows 2012 R2 virtual machines now running with VMXNET3 adapter got the following iperf results:

vmxnet-1a

The throughput was 4.66 Gbit/sec, which is very close to the result of VMXNET3 on Windows 2008 R2, but almost 150 % better than the new E1000E.

vmxnet3-vs-e1000

总之,VMXNET3适配器比E1000和E1000E提供了更多的网络吞吐量性能。另外,至少在这个测试设置中,较新的E1000E的性能实际上低于较旧的E1000。测试是在Windows Server虚拟机上完成的,VMXNET3适配器的最高吞吐量约为4.6 Gbit/秒,这可能是TCP实现的限制造成的。使用其他TCP堆栈的其他操作系统可能获得更高的数字。还需要注意的是,这些测试只是针对网络吞吐量,当然还有其他因素,这些因素可能会在后面的文章中进一步讨论。

参考文献:http://rickardnobel.se/vmxnet3-vs-e1000e-and-e1000-part-2/

相关阅读

Could not autowire field: private com.xxx.dao(已解

最近刚在做一个关于o2o在线资源回收的一个项目,用到的框架就是SSM框架,可能有一段时间没有写代码了,一些常见的错误都折腾了半天,直接

自定义控件中 wrap_content 属性无效的分析解决

问题 在自定义一个类似锁屏页面时间日期样式的控件,继承 View 的时候,发现在 xml 中使用 wrap_content 属性相当于使用了 match_par

UpdatePanel的使用方法

UpdatePanel控件也是Ajax里用得最多的控件之一,UpdatePanel控件是用来局部更新网页上的内容,网页上要局部更新的内容必须放在Update

eclipse调试(debug)方法及常用快捷键

1. 设置断点 在源代码文件中,在想要设置断点的代码行的前面的标记行处,双击鼠标左键就可以设置断点,在相同位置再次双击即可取消断点

.NET 控件集 ComponentOne 2018V2正式发布,提供轻量级

ComponentOne Enterprise 是一款专注于企业应用 .NET开发的 Visual Studio 组件集,包含 300多种 .NET控件,支持 WinForm,WPF,UWP,ASP.

分享到:

栏目导航

推荐阅读

热门阅读