• 如何在openstack环境下实现高性能的网络服务


    大家晚上好。那我们开始吧。主要还是抛装引玉,互相学习交流。今天和大家分享下面一些内容:

    1.关于openstack中VNF网络性能的一些思考和思路

    2.相关的开源项目

    3.OVS 2.4 DPDK with IVSHMEM/vHost-user(w/DPDK) 和vHost (w/oDPDK)性能测试数据

    4.后续可以一起来做的一些工作

    第一部分 关于openstack中VNF网络性能的一些思考和思路

    先来介绍一下背景,目前openstack社区版本的一些网络服务如routing,fip,snat,fw,V**,lb,数据平面都是linux network stack来实现的,linux network stack的性能其实不是很好,尤其是对小包的处理。

    如果我们看pps的话,通常一个core可以支持0.2M~0.5M packet per second,而如果需要在10g网卡上实现64byte小包的线速转发,需要14.88Mpps的处理能力,所以这里还是有很大的提升空间。

    像brocade的vrouter和其它的一些商业方案,据说已经可以支持10Mpps以上的处理能力。从vswitch的角度,OVS2.4已经增加了对DPDK tunnel和DPDK vhost的支持。虽然ovs在它的文档上有说明,这些还只是实验性质的,但我们认为这块的支持最终会走向成熟,我们再测试ovs dpdk的性能时,在两块物理网卡之间已经可以支持10Mpps的转发能力。如果ovs dpdk最终被采纳的话,那么openstack网络中的一些vnf将成为瓶颈。

    所以我们研究的方向是如何在openstack环境下实现高性能的网络服务OpenStackOpenStack L3-agent, LBaaS, FWaaS, V**aaS, etc。为了实现这个目标,有两部分主要的工作需要考虑:

    ✔其一,需要高性能的userspace network stack,并且可以使用dpdk来做完网络i/o接口;

    ✔其二,需要在openstack环境下实现相应的driver,包括创建userspace ovs,创建vnf实例,创建vnf到ovs的特殊的通道(vHost-user or IVSHMEM)。

    第二部分 相关开源项目openstack和opnfv

    openstack那个项目我们有尝试去使用,不过还没有成功。下面我们来看一下实现高性能网络服务需要考虑的一些因素(这几个图片其实是取自intel的一些文档):

  • 相关阅读:
    2019 Sichuan Province Programming Contest J. Jump on Axis
    Redis的淘汰策略
    TCP通信流程详解
    计算机毕业设计springboot+vue基本微信小程序的外卖点餐订餐平台
    Linux终端、关机、ldd、ldconfig等系统命令
    4000字超详解指针
    2019年1+X 证书 Web 前端开发中级理论考试题目原题+答案——第五套
    设计模式- 适配器模式(Adapter Pattern)结构|原理|优缺点|场景|示例
    针对我国——国产数据库进行分析
    笛卡尔积现象
  • 原文地址:https://blog.csdn.net/lingshengxiyou/article/details/128026039