paulwong

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

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

          測試人
          南哥   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
          測試結(jié)果1客戶端測試結(jié)果如下所示:
            
          Rpc
            
          并發(fā)客戶端
          每客戶端調(diào)用次數(shù)
          總調(diào)用次數(shù)
          執(zhí)行時間
          每秒調(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ā)測試結(jié)果如下所示:
            
          Rpc
            
          并發(fā)客戶端
          每客戶端調(diào)用次數(shù)
          總調(diào)用次數(shù)
          執(zhí)行時間
          每秒調(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ā)測試結(jié)果如下所示:
            
          Rpc
            
          并發(fā)客戶端
          每客戶端調(diào)用次數(shù)
          總調(diào)用次數(shù)
          執(zhí)行時間
          每秒調(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ā)測試結(jié)果如下所示:
            
          Rpc
            
          并發(fā)客戶端
          每客戶端調(diào)用次數(shù)
          總調(diào)用次數(shù)
          執(zhí)行時間
          每秒調(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ā)測試結(jié)果如下所示:
            
          Rpc
            
          并發(fā)客戶端
          每客戶端調(diào)用次數(shù)
          總調(diào)用次數(shù)
          執(zhí)行時間
          每秒調(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é)
              從測試結(jié)果可以看出ice的tps遙遙領(lǐng)先,而且并發(fā)越高tps比其他越高,其次thrift,而dubbo和grpc則差了很多。Grpc最差估計跟用了HTTP2有關(guān)。從功能完備性來說ice和dubbo都算比較完備,都有大型生產(chǎn)案例,thrift的服務(wù)化功能比較缺失,grpc可能還不夠成熟。
              Dubbo的插件化機(jī)制的確不錯,ice初次接觸有些概念比較晦澀,經(jīng)過封裝和有詳細(xì)的資料后要好上許多。另外dubbox還支持rest,官方測試rest比kyro要慢1.5倍,本次未對rest測試。
              另外《Zeroc Ice權(quán)威指南》作者Leader-us對ice的測試結(jié)果如下:
          Leader-us測試結(jié)果Ice則是2.5萬,性能差不多是Avro的一倍,綜合起來看Avro和thrift的性能應(yīng)該差不多。

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

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

          Feedback

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

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

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

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



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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 怀安县| 天全县| 禹城市| 泸西县| 无棣县| 金乡县| 乌恰县| 汕尾市| 山东| 开阳县| 静安区| 南丰县| 张北县| 祁门县| 商城县| 大姚县| 崇左市| 南澳县| 三台县| 纳雍县| 武冈市| 汨罗市| 沧州市| 裕民县| 万盛区| 东阳市| 五台县| 门头沟区| 延长县| 金塔县| 富锦市| 甘孜| 休宁县| 澄城县| 饶河县| 南乐县| 建平县| 邹城市| 南岸区| 北川| 青河县|