设为首页 收藏本站
查看: 1150|回复: 0

[经验分享] VMware和VirtualBox中的网络适配器类型及虚拟网络性能优化

[复制链接]

尚未签到

发表于 2015-4-5 09:39:37 | 显示全部楼层 |阅读模式
  最近测试中发现虚拟机的网络性能遇到了瓶颈,于是想一探究竟,发现自己一直忽略了这块儿知识,于是做个笔记。
1.VirtualBox
  eshizhan比较常用的是VirtualBox,以下简称Vbox,先从它入手:
网络适配器
  查看官方文档发现,Vbox中可以模拟五种网络适配器,


  •   AMD PCNet PCI II (Am79C970A);
  •   AMD PCNet FAST III (Am79C973, 默认);
  •   Intel PRO/1000 MT Desktop (82540EM);
  •   Intel PRO/1000 T Server (82543GC);
  •   Intel PRO/1000 MT Server (82545EM);
  •   Paravirtualized network adapter (virtio-net).
  从兼容性来讲, AMD PCNet系列兼容性好,也比较古老,Intel PRO/100系列是比较新的NIC,virtio-net一会儿讲。
  从性能上来讲,新的Intel PRO/1000系列性能要比老的AMD PCNet系列要好,virtio-net要比前两者都好,因为virtio-net是专为虚拟机设计的,优化了很多,貌似出自Redhat,但这款NIC是虚拟的,而且有相对较新,因此大部分OS是不带驱动,需要配合Guest Addition中的驱动使用。 经过大概测试,使用virtio-net比默认的AMD PCNet有大约20%作用的性能提升。virtio-net比较新,以后还有很大提升空间。
网络类型
  下面再谈Vbox中的网络类型,这是个老生常谈的话题,尤其是刚接触虚拟机又不熟悉网络的童鞋,个人推荐先简单看下网络方面的知识,尤其是拓扑图,很快就能搞懂。eshizhan在这里只介绍性能方面。
  Bridged(桥接), Internal, Host-only这三种类型的性能几乎一样,Network Address Translation (NAT)则是性能最差的,因为功能最复杂嘛。除了Bridged和NAT模式外都不容易访问外网,因此推荐Bridged(桥接)模式。
内核驱动
  这部分主要是需要在Guest启用网卡的segmentation offloading功能,默认是开启的,可以使用ethtool工具查看。
2.VMware
  VMware算是虚拟机的行业老大,最近几年各种商业方案也是层出不穷
网络适配器
  同样查看官方文档后发现有大概这几类,:
Vlance :其实就是AMD PCNet系列,型号为AMD 79C970 PCnet32- LANCE NIC
VMXNET :VMware自己开发的适用于虚拟环境的虚拟NIC
Flexible :启动时智能在前两者选择最佳NIC,默认
E1000 :Intel 82545EM Gigabit Ethernet NIC
E1000e :Intel 82574 Gigabit Ethernet NIC
VMXNET 2 (Enhanced):VMXNET改进版
VMXNET 3:VMXNET2改进版
  这个毋庸置疑选择VMXNET系列最好,当然也Guest需要Vmware Tools的支持。这里补充一点,网络适配器类型的选择只针对Vmware Server级别的产品如ESX等,像Vmware Palyer,甚至大家常用的VMware Workstation中都无法通过界面选择网络适配器类型,但可以通过修改.vmx配置文件达到同样目的,
  打开.vmx文件添加
    ethernet0.virtualDev = "vmxnet3"
  value is "vlance" or "e1000" or "vmxnet" or "vmxnet3"
VMware的网络类型和内核驱动和Vbox相同

same Vbox配置参数

.vmx文件中可以通过一系列参数微调你的虚拟NIC,如缓冲区大小:

  ethernet0.numRecvBuffers = 128
  ethernet0.numXmitBuffers = 64
3.总结
  虚拟机的网络适配器都是依靠CPU去模拟,还没有类似像显卡那样利用硬件加速的技术,因此一方面通过使用为虚拟环境特殊优化过的Paravirtualized(准虚拟化)硬件驱动,另一方面通过使用如Bridged(桥接)模式,配置优化参数等方法将大部分网络IO交给物理NIC,减少CPU中断,来达到虚拟网络环境优化的目的。
  
  P.S.
  eshizhan测试发现大量并发的网络IO操作,虽然每个包不大,但可能涉及中断太多,导致虚拟网络性能下降很明显,只能达到物理NIC的30%到40%,甚至更低。如果有类似经验的朋友可以指教指教。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-53968-1-1.html 上篇帖子: VMware Workstation提供的可编程接口 下篇帖子: 用FreeBSD与memcached建立分布式缓存服务器全程记录之vmware虚拟机安装下载
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表