DPDK 有人玩过么?到底能提高多少性能? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
enihcam
V2EX    Intel

DPDK 有人玩过么?到底能提高多少性能?

  •  
  •   enihcam 2017 年 4 月 30 日 8965 次点击
    这是一个创建于 3201 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题。

    auser
        1
    auser  
       2017 年 4 月 30 日 via iPhone
    具体得看你想干什么,不结合业务来讲,这个问题根本无法回答。

    如果做包转发,相比 x86 linux 肯定会大大提升性能。

    cloudflare 说过他们为什么不把 Nginx 做在 dpdk 上:瓶颈不在 dpdk 处理的网络这块。
    julyclyde
        2
    julyclyde  
       2017 年 5 月 1 日   1
    上一份工作里,有同事在做这方面工作
    以前用 LVS,后来用 DPDK 自己写的,和阿里巴巴的那个类似(因为人是从阿里巴巴来的)

    改之前:万兆跑满
    改之后:万兆跑满
    所以后来我的评价是做事风格也充满了阿里风,没事找事凑 KPI
    enihcam
        3
    enihcam  
    OP
       2017 年 5 月 1 日
    @auser 为了降低路由延迟,DPDK 能帮上忙么?
    auser
        4
    auser  
       2017 年 5 月 1 日   1
    @enihcam

    DPDK 再快也是收包到送给应用层的时间短,而不是“转发”快。收到包后,各类检查跟查表(一般都是并发环境,加锁啊什么的,无锁?……哈哈)处理的时间,基本上都是要远远超过 DPDK 的自身开销的。

    想要快过 Linux,要明白为什么 Linux 网络协议栈会“慢”,这个慢是相比 DPDK 的处理而言的,对大部分应用而言,上层的业务延迟已经没多大必要在网络方面下功夫。总之,能否降低路有延迟,要看应用环境(买得起那么多物理机么?有相应的稳定可靠人才支撑么?),然后再做 profiling,看瓶颈在哪里。不要想当然的 DPDK。

    举例来说吧,做 UDP 的 DNS,就可以用 DPDK,绕过 Linux 协议栈提升 QPS. 如果做路由,我觉得拼不过硬件,我是不赞同这种做法的。为了低延迟,没有包的时候,DPDK 都要让 CPU 满载跑着,这时如果想提升吞吐量,延迟也会跟着上去。如果系统里边是多个干活程序一起跑的,老板穷或者不舍得买好机器,开发运维技能没跟着上去,DPDK 也会被用残的。

    硬件差不多,网络 IO+内存类的程序,Linux 跑万兆是没问题的。楼上共享了个案例。最后一个问题:有多少公司的业务能达到万兆带宽?
    auser
        5
    auser  
       2017 年 5 月 1 日
    @enihcam

    补充下。见过几个公司的产品,说转发性能有多高,还跟 DPDK 做了对比,有的更可笑的说 CPU 负载比 DPDK 要低一些……这些测试,本质上而言,其实在 DPDK 的文档里连代码都有:一个端口收包,送到另一个端口去。不过:这种不带任何处理的程序,何必要写个程序呢。
    wangwen41097468
        6
    wangwen41097468  
       2021 年 9 月 3 日
    [冲破内核瓶颈,让 I/O 性能飙升] DPDK 工程师手册,官方文档,最新视频,开源项目,实战案例,论文,大厂内部 ppt,知名工程师一览表

    https://github.com/0voice/dpdk_engineer_manual
    artnowben/td>
        7
    artnowben  
       2022 年 11 月 23 日
    DPDK 性能很高,但是 bypass kernel ,上层的协议栈要自己做。以 dperf 为例,
    dperf 使用 DPDK ,里面有 tcp 协议栈,可以达到几十亿并发,几千万 TCP 每秒新建,几百 Gbps 带宽。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4739 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 03:10 PVG 11:10 LAX 19:10 JFK 22:10
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86