免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: humjb_1983
打印 上一主题 下一主题

[网络子系统] Xen虚拟化+万兆网卡环境,DomU网络性能问题 [复制链接]

论坛徽章:
0
41 [报告]
发表于 2013-11-27 11:09 |只看该作者
回复 36# humjb_1983


    主要是想看一下Dom0网卡驱动的GRO和netback的GSO是否工作正常。如果tcpdump出来的都是小包<MTU,证明可能工作不正常。
    另外硬件网卡的LRO应该关闭的,如果它被做为一个网桥的interface.

论坛徽章:
15
射手座
日期:2014-02-26 13:45:082015年迎新春徽章
日期:2015-03-04 09:54:452015年辞旧岁徽章
日期:2015-03-03 16:54:15羊年新春福章
日期:2015-02-26 08:47:552015年亚洲杯之卡塔尔
日期:2015-02-03 08:33:45射手座
日期:2014-12-31 08:36:51水瓶座
日期:2014-06-04 08:33:52天蝎座
日期:2014-05-14 14:30:41天秤座
日期:2014-04-21 08:37:08处女座
日期:2014-04-18 16:57:05戌狗
日期:2014-04-04 12:21:33技术图书徽章
日期:2014-03-25 09:00:29
42 [报告]
发表于 2013-11-27 12:40 |只看该作者
crspo 发表于 2013-11-27 11:09
回复 36# humjb_1983

在接收端tcpdump抓包流程是在GRO组包前?还是组包后?如果是组包前,应该就看不出效果了吧?
之前我们在千兆环境中测试过GSO、GRO等特性,在大包情况下,效果甚微。
另外,看您比较确信Xen的性能能到限速,不知是否有相关经验或依据?能否分享下~~

论坛徽章:
0
43 [报告]
发表于 2013-11-27 12:58 |只看该作者
humjb_1983 发表于 2013-11-27 12:40
在接收端tcpdump抓包流程是在GRO组包前?还是组包后?如果是组包前,应该就看不出效果了吧?
之前我们在 ...


可能没说清楚,先要排除offload的影响。因为没有GRO,guest很难达到限速。所以意思是当guest做为接受端时,在guest做tcpdump。通常收包的流程是,网卡收包->[1]Host GRO对包进行合并->转发至netback[2]->通过ring发送至netfront

在guest里面tcpdump能确保[1]和[2]不出现问题。

论坛徽章:
0
44 [报告]
发表于 2013-11-27 12:59 |只看该作者
humjb_1983 发表于 2013-11-27 12:40
在接收端tcpdump抓包流程是在GRO组包前?还是组包后?如果是组包前,应该就看不出效果了吧?
之前我们在 ...


我很多年没用过Xen,只是凭经验。如果达不到线速,应该早就有人在list里面抱怨了。

论坛徽章:
15
射手座
日期:2014-02-26 13:45:082015年迎新春徽章
日期:2015-03-04 09:54:452015年辞旧岁徽章
日期:2015-03-03 16:54:15羊年新春福章
日期:2015-02-26 08:47:552015年亚洲杯之卡塔尔
日期:2015-02-03 08:33:45射手座
日期:2014-12-31 08:36:51水瓶座
日期:2014-06-04 08:33:52天蝎座
日期:2014-05-14 14:30:41天秤座
日期:2014-04-21 08:37:08处女座
日期:2014-04-18 16:57:05戌狗
日期:2014-04-04 12:21:33技术图书徽章
日期:2014-03-25 09:00:29
45 [报告]
发表于 2013-11-27 13:55 |只看该作者
crspo 发表于 2013-11-27 12:58
可能没说清楚,先要排除offload的影响。因为没有GRO,guest很难达到限速。所以意思是当guest做为接受端时 ...

哦,明白,我们后面关注确认下,感谢!

论坛徽章:
15
射手座
日期:2014-02-26 13:45:082015年迎新春徽章
日期:2015-03-04 09:54:452015年辞旧岁徽章
日期:2015-03-03 16:54:15羊年新春福章
日期:2015-02-26 08:47:552015年亚洲杯之卡塔尔
日期:2015-02-03 08:33:45射手座
日期:2014-12-31 08:36:51水瓶座
日期:2014-06-04 08:33:52天蝎座
日期:2014-05-14 14:30:41天秤座
日期:2014-04-21 08:37:08处女座
日期:2014-04-18 16:57:05戌狗
日期:2014-04-04 12:21:33技术图书徽章
日期:2014-03-25 09:00:29
46 [报告]
发表于 2013-11-27 14:04 |只看该作者
crspo 发表于 2013-11-27 12:59
我很多年没用过Xen,只是凭经验。如果达不到线速,应该早就有人在list里面抱怨了。

估计是万兆网卡还未普及,目前网上也有一些人反馈Xen确实达不到限速,能达到的都是做了架构性的优化,比如使用VMDC(SR-IOV)或是HP论文中说的基于VMDQ的优化方案(改动看似也非常大),这两种思路,都基本绕过了前后端驱动,才能达到限速。
另外,请教下,KVM中,如果virtio-net不使用多队列,那能达到限速吗?我看官方的测试数据,多队列好像对性能提升不算太明显?virtio-net效率这么高的基本原理是啥?理论上virtio也需要经过host和guest的数据通信吧,其效率高在哪里?Xen中是否有移植virtio-net的可能?

论坛徽章:
0
47 [报告]
发表于 2013-11-27 14:29 |只看该作者
回复 46# humjb_1983


    不用多队列可以达到线速。多队列对多个并行请求的延迟改进还是非常明显的,对于但对列多个vcpu,一个vhost thread很容易达到瓶颈。不过多队列面临一个一个问题是需要跟TCP/GSO更好的协作。目前的GSO假定应用程序会以非常快的速度填充发送缓冲区,这个假设在虚拟化环境,特别是多队列情况下不是非常的适用。也许未来会有一些优化。
    一点理解,virtio就设专门为虚拟化环境设计的,目的就是简化设计(所以前后端都非常简单)并且减少exit/irq的次数。一个简单的例子对比virtio-net和netfront,virito-net几乎不使用tx中断,目的就是减少irq/exit的次数提高性能。

论坛徽章:
0
48 [报告]
发表于 2013-11-27 14:31 |只看该作者
如果使用官方的qemu,HVM里面应该可以使用virtio-net吧,毕竟只是一个PCI设备,vhost可能不行。

论坛徽章:
0
49 [报告]
发表于 2013-11-27 14:31 |只看该作者
如果使用官方的qemu,HVM里面应该可以使用virtio-net吧,毕竟只是一个PCI设备,vhost可能不行。

论坛徽章:
0
50 [报告]
发表于 2013-11-27 14:31 |只看该作者
华为好像正在搞HVM里面的virito-net/vhost支持。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP