VMXNET3 vs E1000E and E1000

用户为什么要从E1000调整为VMXNET3,理由如下:

  • E1000是千兆网路卡,而VMXNET3是万兆网路卡;
  • E1000的性能相对较低,而VMXNET3的性能相对较高;
  • VMXNET3支持TCP/IP Offload Engine,E1000不支持;
  • VMXNET3可以直接和vmkernel通讯,执行内部数据处理;

eg. VMXNET3 will show the bandwidth as 10 GBps. However, the actual bandwidth will depend on your uplink speed. A physical CentOS or a Windows installation might show it as 40 GBps but, not the VMs. You will have to perform a bandwidth test to see how much you are getting in actual.

来源 http://blog.51cto.com/shipyard/1930183

Network performance with VMXNET3 compared to E1000E and E1000. This article explains the difference between the virtual network adapters and part 2 will demonstrate how much network performance could be gained by selecting the paravirtualized adapter.

The VMware administrator has several different virtual network adapters available to attach to the virtual machines. The virtual adapters belong to either of two groups:

Emulated:

These are virtual hardware who emulates real existing physical network adapters. (Note that the physical network cards in the physical ESXi host is totally unrelated.) The VMkernel will present something that to the guest operating system will look exactly as some specific real world hardware and the guest could detect them through plug and play and use a native device driver.

Examples for the emulated devices are:

E1000 – which will emulate a 1 Gbit Intel 82545EM card, and is available for most operating systems since the generation of Windows Server 2003. This card is the default when creating almost all virtual machines and is by that widely used.

E1000E – emulates a newer real network adapter, the 1 Gbit Intel 82574, and is available for Windows 2012 and later. The E1000E needs VM hardware version 8 or later.

Above in Windows 2008 R2 with an emulated E1000 adapter the native guest operating system device driver is in use.

The positive side of the emulated network adapters are that they work “out of the box” and need no external code from VMware. It could be used to even (if needed) install the guest operating system by PXE since the E1000 device is available already from the BIOS start up.

The negative side is when using the default emulated adapters extra work is needed for every frame being sent or received from the guest operating system (which could be many thousands each second).
The VMkernel has to in “real time” emulate the exact behavior of the specific Intel 82545EM or 82574 cards, which will cost time and CPU cycles.

Paravirtualized:

The other type of virtual network adapters are the “paravirtualized”. The most recent one is calledVMXNET3.

The paravirtualized network card does not exist as a physical NIC, but is a device “made up” entirely by VMware. For the guest operating system this will mean that it typically during the OS installation phase only senses that an unknown device is located in a PCI slot on the (virtual) motherboard, but it has no driver to actually use it.

(Note: some Linux distributions do even have the VMXNET3 driver pre-installed.)

For Windows Server, when a device driver is supplied, typically through the installation of VMware Tools, the guest operating system will perceive this as a real NIC from some network card manufacturer called “VMware” and use it as an ordinary network adapter. It has no reason to believe anything else than this is a NIC just as any other NIC around.

To the guest operating system the VMXNET3 card looks like a 10 Gbit physical device.

Note: there are also two obsolete paravirtualized adapters called VMXNET and VMXNET2 (sometimes the “Enhanced VMXNET”), however as long as the virtual machine has at least hardware version 7 only the VMXNET3 adapter should be used.

Since VMware with the VMXNET3 card owns much more of the network components even inside the VM there are many performance enhancements that could done. With the emulated E1000/E1000E the kernel has to mimic the exact behavior of existing adapters to the guest but with the VMXNET3 it could create a “perfect” virtual adapter optimized to be used in a virtual environment.

In the first article the general difference between the adapter types was explained.

In this article we will test the network throughput in the two most common Windows operating systems today: Windows 2008 R2 and Windows 2012 R2, and see the performance of the VMXNET3 vs the E1000 and the E1000E.

To generate large amounts of network traffic I used the iperf tool running on two virtual machines, one iperf “client” and the other as “server”. I have found that the following iperf settings generates the best combination for network throughput tests on Windows Server:

Server: iperf -s -w 64k -l 128k

Client: iperf -c <SERVER-IP> -P 16 -w 64k -l 128k -t 30

The test was done on HP Proliant Bl460c Gen8 with the virtual machines were running on the same physical host to be able to see the network performance regardless of the physical network connection between physical hosts/blades.

All settings on the E1000, E1000E and VMXNET3 was default. More on possible tweakings of the VMXNET3 card settings will be explained in a later article.

(It shall of course be noted that the following results are just observations from tests on one specific hardware and ESXi configuration, and is not in any way a “scientific” study.)

Test 1: Windows 2008 R2 with the default E1000 adapter

Two Windows 2008 R2 virtual machines, one as iperf server and the other as client, with the test running in 30 seconds.

As noted in the Task Manager view the 1 Gbit link speed was maxed out. A somewhat interesting fact is that even with the emulated E1000 adapter it is possible to use more than what “should” be possible on a 1 Gbit link.

From the iperf client output we can see that we reach a total throughput of 2.65 Gbit per second with the default E1000 virtual adapter.

Test 2: Windows 2008 R2 with the VMXNET3 adapter

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

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

The E1000E is a newer, and more “enhanced” version of the E1000. To the guest operating system it looks like the physical adapter Intel 82547 network interface card.

However, even if it is a newer adapter it did actually deliver lower throughput than the E1000 adapter.

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

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

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

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.

In summary the VMXNET3 adapter delivers greatly more network throughput performance than both E1000 and E1000E. Also, in at least this test setup the newer E1000E performed actually lower than the older E1000.

The test was done on Windows Server virtual machines and the top throughput of around 4.6 Gbit/sec for the VMXNET3 adapter could be the result of limitations in the TCP implementations. Other operating systems with other TCP stacks might achieve even higher numbers. It shall be noted also that these test was just for the network throughput, but there are of course other factors as well, which might be further discussed in later articles.

=============== End

VMXNET3 vs E1000E and E1000相关推荐

  1. E1000 与 VMXNET3的 区别

    与E1000E和E1000相比,VMXNET3的网络性能更好.本文将解释虚拟网络适配器和第2部分之间的区别,并将演示通过选择半虚拟化适配器可以获得多少网络性能. VMware管理员可以将几个不同的虚拟 ...

  2. 安装VMware ESXi 6 RC版

    体验vSphere 6之1-安装VMware ESXi 6 RC版 在2015年,各个公司都会发布一系列新的产品,例如Microsoft会发布Windows 10,VMware会发布vSphere 6 ...

  3. (详细全面)softmax和log_softmax的联系和区别,NLLLOSS和CrossEntropyLoss的联系和区别

    文章目录 1.softmax 2.log_softmax 3.softmax和log_softmax 4.NLLLOSS和CrossEntropyLoss 1.softmax 作用:实现了将n维向量变 ...

  4. RuntimeWarning: overflow encountered in power

    问题: 在使用sigmoid函数的时候遇到了这个错误: yyh=1/(1+np.power(np.e,-yh)) 问题分析: 溢出就是数太大,计算机已经表示不了了.我们当然会想,怎么会溢出呢?因为我们 ...

  5. 【theano-windows】学习笔记十一——theano中与神经网络相关函数

    前言 经过softmax和MLP的学习, 我们发现thenao.tensor中除了之前的博客[theano-windows]学习笔记五--theano中张量部分函数提到的张量的定义和基本运算外, 还有 ...

  6. 深度学习入门笔记(四):神经网络

    专栏--深度学习入门笔记 推荐文章 深度学习入门笔记(一):机器学习基础 深度学习入门笔记(二):神经网络基础 深度学习入门笔记(三):感知机 深度学习入门笔记(四):神经网络 深度学习入门笔记(五) ...

  7. 【亲测有效】解决 Ubuntu 虚拟机无法共享文件夹的问题

    Ubuntu 虚拟机无法共享文件夹 1. 什么是虚拟机共享文件夹 2. 如何开启虚拟机的共享文件夹 3. 重新安装 VMware-tools 参考链接 1. 什么是虚拟机共享文件夹 最近,遇到了一个很 ...

  8. 解决共享文件夹不显示以及VMware-tools的重装问题

    环境: Win10 VMware Workstation 12 虚拟机:Xubuntu 14.04 (内核4.4) 问题: 之前虚拟机中安装过VMware-tools,可能没有安装完整导致现在开启共享 ...

  9. linux学习(一)虚拟机界面全屏

    文章目录 1 问题 2 解决--安装VMwareTools 3 结果 总结 1 问题 安装完linux虚拟机后,发现不能全屏 2 解决–安装VMwareTools 选择好之后点击确认,本来应该出现VM ...

最新文章

  1. 行业观察 | 全球IoT云平台第一股诞生,IoT离爆发还有多远?
  2. 怎样使用dhcp自动分配IP地址
  3. Linux_文件系统磁盘分区
  4. 函数重写 java_java 函数的重载和重写实例代码
  5. linux i3wm性能,Core i3-530集成显卡Linux性能考察
  6. oracle 如何筛选重复,求sql--筛选A字段相同,B字段不同且不重复的记录
  7. 三十七 Python分布式爬虫打造搜索引擎Scrapy精讲—将bloomfilter(布隆过滤器)集成到scrapy-redis中...
  8. 具体解释Android中AsyncTask的使用
  9. python 命名空间报错_python命名空间与作用域
  10. GDAL源码剖析(九)之GDAL体系架构
  11. 数字信号处理实验一 T3
  12. 适合python组态软件_组态软件哪个好
  13. SmartUpload问题
  14. 三相三线与三相四线计算公式
  15. unity学习笔记-相对位置和绝对位置
  16. 强化学习三、策略迭代与值迭代
  17. 手机刷的面具是什么_小米9刷Magisk(面具)详细教程
  18. 「现场参会攻略」| 2018AI in China之智能制造数据驱动产业变革高峰论坛
  19. 爆笑校园生活——人在校园的日子
  20. QT项目负责人必须掌握的Ui设计师功能——Promote to !

热门文章

  1. 一、虚拟化技术发展概述
  2. win10修改用户名
  3. Python 数据库连接方法和数据库连接池
  4. 微机原理与接口技术的基础知识
  5. win7驱动程序未经签名可以使用吗_windows-7 – Windows7引导选项,允许忽略未签名的驱动程序...
  6. [转载]【职场新人必看】领导谆谆寄语
  7. 黄药师及其五大弟子功夫继承关系篇----命令模式C++实现
  8. 构建Delaunay三角网的VB源程序
  9. 计算机安全模式还原系统,Win10电脑安全模式怎么还原系统?Win10电脑安全模式还原系统方法步骤...
  10. js设置,获取,删除属性(setAttribute, getAttribute, removeAttribute)