paulwong

          My Links

          Blog Stats

          常用鏈接

          留言簿(67)

          隨筆分類(1392)

          隨筆檔案(1150)

          文章分類(7)

          文章檔案(10)

          相冊(cè)

          收藏夾(2)

          AI

          Develop

          E-BOOK

          Other

          養(yǎng)生

          微服務(wù)

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          60天內(nèi)閱讀排行

          不得不承認(rèn)Zeroc Ice是RPC王者: 完爆Dubbo,Thrift,谷歌RPC

          ice-dubbo-thrift-grpc性能測(cè)試對(duì)比,本次測(cè)試過(guò)程中還發(fā)現(xiàn)了一個(gè)支付寶的秘密,附件文檔中會(huì)詳細(xì)說(shuō)明。
          測(cè)試說(shuō)明
              本測(cè)試只是個(gè)人為了對(duì)rpc進(jìn)行技術(shù)選型,測(cè)試可能不夠嚴(yán)謹(jǐn),對(duì)某些rpc的參數(shù)可能也不是最優(yōu),如果你知道更優(yōu)的參數(shù)配置或者改進(jìn)意見(jiàn)等,歡迎反饋給我magicdoom@gmail.com。另外代碼有些地方只是為了測(cè)試方便,不作為平時(shí)編程的范例。所有測(cè)試源碼和運(yùn)行均一起提供在附件里。
              測(cè)試源碼工程可用idea打開(kāi),其中dubbo,grpc需要maven支持。運(yùn)行只需要運(yùn)行對(duì)應(yīng)bat腳本。如果想測(cè)試更多場(chǎng)景,可以直接改腳本的并發(fā)數(shù)和調(diào)用次數(shù)。  

          測(cè)試人
          南哥   mycat核心commiter     http://mycat.io/

          系統(tǒng)環(huán)境                              
          Jdk:jdk1.8.0_51x64
          Ice:ice3.6
          Dubbo:dubbox 2.8.4
          Thrift:0.9.2
          Grpc:0.7.1
          測(cè)試結(jié)果1客戶端測(cè)試結(jié)果如下所示:
            
          Rpc
            
          并發(fā)客戶端
          每客戶端調(diào)用次數(shù)
          總調(diào)用次數(shù)
          執(zhí)行時(shí)間
          每秒調(diào)用數(shù)tps
          ice
          1
          300000
          300000
          16s
          18329
          dubbo
          1
          300000
          300000
          52s
          5675
          thrift
          1
          300000
          300000
          23s
          12832
          grpc
          1
          300000
          300000
          77s
          3896
          從數(shù)據(jù)可以看出ice,thrift的tps最高,ice是thrift的1.4倍,是dubbo的3.2倍,是grpc的4.7倍
          5客戶端并發(fā)測(cè)試結(jié)果如下所示:
            
          Rpc
            
          并發(fā)客戶端
          每客戶端調(diào)用次數(shù)
          總調(diào)用次數(shù)
          執(zhí)行時(shí)間
          每秒調(diào)用數(shù)tps
          ice
          5
          300000
          1500000
          20s
          71575
          dubbo
          5
          300000
          1500000
          77s
          19371
          thrift
          5
          300000
          1500000
          31s
          47041
          grpc
          5
          300000
          1500000
          95s
          15722
          從數(shù)據(jù)可以看出ice,thrift的tps最高,ice是thrift的1.5倍,是dubbo的3.6倍,是grpc的4.5倍
          20客戶端并發(fā)測(cè)試結(jié)果如下所示:
            
          Rpc
            
          并發(fā)客戶端
          每客戶端調(diào)用次數(shù)
          總調(diào)用次數(shù)
          執(zhí)行時(shí)間
          每秒調(diào)用數(shù)tps
          ice
          20
          300000
          6000000
          68s
          87375
          dubbo
          20
          300000
          6000000
          256s
          23354
          thrift
          20
          300000
          6000000
          94s
          63708
          grpc
          20
          300000
          6000000
          382s
          15675
          從數(shù)據(jù)可以看出ice,thrift的tps最高,ice是thrift的1.3倍,是dubbo的3.7倍,是grpc的5.5倍
          50客戶端并發(fā)測(cè)試結(jié)果如下所示:
            
          Rpc
            
          并發(fā)客戶端
          每客戶端調(diào)用次數(shù)
          總調(diào)用次數(shù)
          執(zhí)行時(shí)間
          每秒調(diào)用數(shù)tps
          ice
          50
          300000
          15000000
          165s
          90679
          dubbo
          50
          300000
          15000000
          676s
          22157
          thrift
          50
          300000
          15000000
          255s
          58765
          grpc
          50
          300000
          15000000
          987s
          15186
          從數(shù)據(jù)可以看出ice,thrift的tps最高,ice是thrift的1.5倍,是dubbo的4倍,是grpc的5.9倍
          100客戶端并發(fā)測(cè)試結(jié)果如下所示:
            
          Rpc
            
          并發(fā)客戶端
          每客戶端調(diào)用次數(shù)
          總調(diào)用次數(shù)
          執(zhí)行時(shí)間
          每秒調(diào)用數(shù)tps
          ice
          100
          300000
          30000000
          361s
          83014
          dubbo
          100
          300000
          30000000
          1599s
          18760
          thrift
          100
          300000
          30000000
          597s
          50211
          grpc
          100
          300000
          30000000
          2186s
          13721
          從數(shù)據(jù)可以看出ice,thrift的tps最高,ice是thrift的1.6倍,是dubbo的4.4倍,是grpc的6倍
          總結(jié)
              從測(cè)試結(jié)果可以看出ice的tps遙遙領(lǐng)先,而且并發(fā)越高tps比其他越高,其次thrift,而dubbo和grpc則差了很多。Grpc最差估計(jì)跟用了HTTP2有關(guān)。從功能完備性來(lái)說(shuō)ice和dubbo都算比較完備,都有大型生產(chǎn)案例,thrift的服務(wù)化功能比較缺失,grpc可能還不夠成熟。
              Dubbo的插件化機(jī)制的確不錯(cuò),ice初次接觸有些概念比較晦澀,經(jīng)過(guò)封裝和有詳細(xì)的資料后要好上許多。另外dubbox還支持rest,官方測(cè)試rest比kyro要慢1.5倍,本次未對(duì)rest測(cè)試。
              另外《Zeroc Ice權(quán)威指南》作者Leader-us對(duì)ice的測(cè)試結(jié)果如下:
          Leader-us測(cè)試結(jié)果Ice則是2.5萬(wàn),性能差不多是Avro的一倍,綜合起來(lái)看Avro和thrift的性能應(yīng)該差不多。

          本帖只摘錄了一部分內(nèi)容,完整測(cè)試報(bào)告以及源碼詳見(jiàn)附件的word文檔。
          由于論壇限制,完整文檔下載http://pan.baidu.com/s/1eQIY9xg,文檔比較大因?yàn)榘嗽创a和運(yùn)行程序
          如果百度云的連接失效,請(qǐng)到mycat的qq群共享里下載,群號(hào):228044360

          posted on 2015-11-13 16:19 paulwong 閱讀(14299) 評(píng)論(2)  編輯  收藏 所屬分類: Zeroc Ice

          Feedback

          # re: 不得不承認(rèn)Zeroc Ice是RPC王者: 完爆Dubbo,Thrift,谷歌RPC 2016-06-03 14:10 任國(guó)強(qiáng)

          搜thrift搜到這里來(lái)了,看了看原來(lái)還有神器啊,留個(gè)腳印吧!
          博客園咋就不能把.net和java的賬號(hào)打通呢。我想終有一天會(huì)打通的。
          等了這么多年,兩個(gè)QQ丟了一個(gè)之后,才發(fā)現(xiàn):呀!QQ終于能合并多個(gè)QQ號(hào)一塊登錄了,可惜我也就一個(gè)了。哈哈哈,造化弄人啊!
            回復(fù)  更多評(píng)論   

          # re: 不得不承認(rèn)Zeroc Ice是RPC王者: 完爆Dubbo,Thrift,谷歌RPC 2019-09-24 10:19 NewSea

          學(xué)習(xí)  回復(fù)  更多評(píng)論   



          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 时尚| 合江县| 丹棱县| 海林市| 云林县| 临猗县| 玉树县| 来宾市| 湖州市| 华亭县| 凤阳县| 灌阳县| 镇康县| 吴旗县| 汾阳市| 珲春市| 三门县| 唐河县| 泸溪县| 海兴县| 安图县| 盖州市| 清水县| 汉川市| 安远县| 辽阳县| 沐川县| 翁源县| 台安县| 花莲县| 南丰县| 陕西省| 铜梁县| 普兰店市| 雷州市| 潼关县| 西贡区| 苍山县| 泸州市| 大足县| 民和|