paulwong

          不得不承認(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 閱讀(14307) 評(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)航:
           
          主站蜘蛛池模板: 承德县| 视频| 天门市| 天水市| 黄浦区| 洪雅县| 连平县| 湖南省| 德钦县| 双桥区| 陵川县| 来凤县| 珲春市| 台前县| 道孚县| 通渭县| 五家渠市| 庆安县| 虹口区| 岫岩| 巴林左旗| 开平市| 邹平县| 大渡口区| 鄄城县| 故城县| 黄平县| 新龙县| 霍林郭勒市| 赣州市| 大厂| 金阳县| 乡宁县| 兴文县| 屏东县| 洞口县| 犍为县| 睢宁县| 谷城县| 长宁区| 鱼台县|