gRPC 跑分分享(2022 03 15 bench results) - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
hepin1989
V2EX    程序员

gRPC 跑分分享(2022 03 15 bench results)

  •  1  
  •   hepin1989 2022-04-01 16:20:04 +08:00 5086 次点击
    这是一个创建于 1365 天前的主题,其中的信息可能已经有所发展或是发生改变。

    直接贴来源: https://github.com/LesnyRumcajs/grpc_bench/wiki/2022-03-15-bench-results

    总结:

    1. Rust 性能上天,资源利用高。
    2. CPP 不落王者
    3. Scala 机制优化
    4. Java 依然强悍
    5. Donet 有金主爸爸就是不一样
    6. Golang 名列前茅
    7. Javascript 、PHP 、Ruby 洗洗睡了。
    第 1 条附言    2022-04-01 21:28:40 +08:00
    如果觉得自己喜欢的语言跑分偏低,或者缺少的可以提供下 PR ,作者的这个机器是他朋友的,他们不定期会跑一次。
    大佬可以试试更多核的效果。
    36 条回复    2022-04-04 22:44:37 +08:00
    hepin1989
        1
    hepin1989  
    OP
       2022-04-01 16:21:39 +08:00
    补充一下,之前 Scala 的 Akka 项目跑分贼低,后来优化过。
    Pilippa
        2
    Pilippa  
       2022-04-01 16:27:31 +08:00
    随着 cpu 上升,Golang 的排名显著上升,直觉应该和其 goroutine 调度机制有关。
    hepin1989
        3
    hepin1989  
    OP
       2022-04-01 16:28:29 +08:00
    @Pilippa 是的,我们这边也内部讨论过这个问题,结论一致。
    SorcererXW
        4
    SorcererXW  
       2022-04-01 16:39:23 +08:00
    @hepin1989 对于 Go 生产环境一般都会把 GOMAXPROCS 设置为容器实际配额,benchmark 里面可能也应该做这样的设置
    hepin1989
        5
    hepin1989  
    OP
       2022-04-01 17:22:24 +08:00
    @SorcererXW PR is welcome
    INCerry
        6
    INCerry  
       2022-04-01 18:16:19 +08:00
    C# dtnet 看来还是名列前茅 :)
    seakingii
        7
    seakingii  
       2022-04-01 18:20:56 +08:00
    .NET 不错啊,不知道出了 NATIVE 编译后性能是不是还可以提高
    INCerry
        8
    INCerry  
       2022-04-01 18:21:44 +08:00
    C# dotnet 的 P95 和 P99 延时 CPU 占用率在 Top 中令人影响深刻
    godlovesxcjtest
        9
    godlovesxcjtest  
       2022-04-01 19:42:32 +08:00   6
    Go 的性能还打不过 Java ,那要 Go 有啥用啊。。。
    PureWhiteWu
        10
    PureWhiteWu  
       2022-04-01 19:57:58 +08:00
    是否可以增加一些大规格的测试,比如 8C ,16C ,32C ,64C 的测试结果?
    hingbong
        11
    hingbong  
       2022-04-01 20:01:14 +08:00
    java aot 是 graal 那个?差那么多?
    yemoluo
        12
    yemoluo  
       2022-04-01 20:35:49 +08:00
    scala 这么牛逼,dotnet 也很高啊
    wdhwg001
        13
    wdhwg001  
       2022-04-01 20:51:54 +08:00
    dotnet 还是有点牛逼的,很厉害的点是它的提交历史里几乎没经历什么重大的性能优化修改。
    pengtdyd
        14
    pengtdyd  
       2022-04-01 20:53:57 +08:00
    为啥没有 c ???? 真是世风日下,人心不古啊,我大 C 居然连一席之地都没有了????
    xuqd
        15
    xuqd  
       2022-04-01 21:19:57 +08:00
    Akka 这么虎了?
    hepin1989
        16
    hepin1989  
    OP
       2022-04-01 21:29:02 +08:00 via Android
    @pengtdyd PR IS WELCOME 。
    interim
        17
    interim  
       2022-04-01 21:29:10 +08:00
    donot 有点强啊,高 cpu 占用下的延迟很优秀。
    janxin
        18
    janxin  
       2022-04-01 21:36:05 +08:00
    官方就有 gPRC 的性能对比呀 https://grafana-dot-grpc-testing.appspot.com/?orgId=1
    FrankAdler
        19
    FrankAdler  
       2022-04-01 21:38:19 +08:00
    这总结 1-5 谁都不得罪啊,不过 Go 居然跑不过 Java ,有点诧异
    gcnyin
        20
    gcnyin  
       2022-04-01 21:43:29 +08:00
    @janxin 这个看起来各种实现不是很全
    BIAOXYZ
        21
    BIAOXYZ  
       2022-04-01 21:50:39 +08:00
    @pengtdyd 无敌是多摸、多摸寂寞(狗头
    henryhu
        22
    henryhu  
       2022-04-01 22:02:36 +08:00
    Javascript 、PHP 、Ruby 是我的主力语言,哈哈哈
    janxin
        23
    janxin  
       2022-04-01 22:16:34 +08:00
    @gcnyin 因为只有官方实现...
    ysc3839
        24
    ysc3839  
       2022-04-01 22:20:55 +08:00 via Android
    @FrankAdler JIT 可以根据运行时的数据进行优化,比 AOT 性能好也不奇怪
    liuhan907
        25
    liuhan907  
       2022-04-01 22:38:32 +08:00 via Android
    @FrankAdler Java 一般都是诟病其内存消耗大,很少会说性能差。JIT 理论上至少能和 aot 齐平。
    zhoudaiyu
        26
    zhoudaiyu  
    PRO
       2022-04-01 23:06:25 +08:00 via iPhone
    Python 也太拉了
    INCerry
        27
    INCerry  
       2022-04-01 23:07:43 +08:00
    @janxin 可惜这个上面 C# 还是用的包装 C 语言.dll 的库,没有用上.NET 基金会用纯 C#重写的 grpc-dotnet (这个性能更好)。
    https://github.com/grpc/grpc-dotnet
    INCerry
        28
    INCerry  
       2022-04-01 23:22:25 +08:00
    @chnyuwen 我注意到 3 CPU 时,dotnet 的 CPU 占用偏低,感觉可能是线程池扩容不及时导致的,有空我设置最小线程数测试一下,看看有没有啥提升。
    hepin1989
        29
    hepin1989  
    OP
       2022-04-02 01:52:10 +08:00
    @henryhu 合适的场景用是非常优秀的语言哈,只是单纯这个跑分对他们三个不太友好。
    hepin1989
        30
    hepin1989  
    OP
       2022-04-02 01:55:05 +08:00
    @INCerry 我 .NET 不熟悉,要不您这边 PR 下,说不定下次就是状元了。
    zzxgz
        31
    zzxgz  
       2022-04-02 03:04:00 +08:00
    谢谢楼主分享。

    这个 latency 跟 gRPC 官方的数据比起来,好像打了不少啊。请问这个是因为硬件不同的缘故吗?
    hepin1989
        32
    hepin1989  
    OP
       2022-04-02 05:46:06 +08:00 via Android   1
    @zzxgz 官方的跑分你懂的,硬件的确不一样,不同的硬件内存 cpu 那些都不一样,不过作者也贴了的。
    encro
        33
    encro  
       2022-04-02 10:04:37 +08:00
    scale 2c 比 1c 高一倍不止,3c 又歇菜。
    php swoole 没放出来?

    rust 没跑异步
    LoNeFong
        34
    LoNeFong  
       2022-04-02 10:15:10 +08:00
    问题是大家用 java 都是 spring dubbo 一把梭
    seakingii
        35
    seakingii  
       2022-04-02 18:25:36 +08:00
    楼上说的纯 C#实现的 GRPC

    gcnyin
        36
    gcnyin  
       2022-04-04 22:44:37 +08:00
    @LoNeFong这个帖子里我知道至少三个用 scala 的(算上我)
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2136 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 16:11 PVG 00:11 LAX 08:11 JFK 11:11
    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