最近我们试图从Dubbo迁移到Spring Cloud。为此对二者分别进行了性能测试。为了得出数据量不同的情况下的二者的性能表现,我们分别准备了一个25个属性pojo对象和一个50个属性的pojo对象,通过这样的方式我们也可以间接地了解二者在序列化方面的水平。

以下是测试结果:

25个属性,10W次:

50个属性,10W次:

分析:

        由于Spring Cloud与Dubbo天生使用的协议层面不一样,前者是HTTP,后者是TCP(使用的是Netty NIO框架,序列化使用的阿里定制版Hessian2),导致两个框架的性能差距略大。基本上是三比一的差距!Dubbo官方TPS是1W左右,这和我们的测试最高值是接近的。在之前我们还进行过一次测试,那次测试是真实的项目测试,包含了对数据库的访问,最后二者的结果相差并不是很大。由此也得出,框架的性能可能对一个真实的请求(Request)影响并不是很大,或者说并不起决定性作用,也许真正影响性能的是你的业务代码,比如数据库访问以及IO,当然了,框架的性能在一些对性能要求敏感的应用来说也是要考虑的。

另外根据Dubbo官方说法,Dubbo在小数据量的情况下表现卓越,这和我们的测试也是吻合的,在50个属性的pojo对象下,Dubbo性能确实下降了。

另外Spring Cloud默认的feigh client是使用jdk的urlconnection来做HTTP的请求,考虑这种做法的性能问题,我们尝试接入了httpclient包来测试,结果发现httpclient更慢,最后我们引入了开源的okhttp包,综合发现,okhttp和Spring Cloud的feign client结合是性能最高的。

还有就是我们之前也测试过用RestTemplate进行测试,性能要比用Feigh还要好一些。大概能提升百分之十到十五。

虽然Spring Cloud在性能上与Dubbo有天生的劣势,但考虑到Spring Cloud作为一套专门的微服务框架,再加上RESTful风格的API的趋势,从综合的角度,Spring Cloud无疑是你所在的公司未来微服务化进程中不可缺少的选择之一!

以上测试仅供参考!

测试环境:

1、微服务服务器:

CPU(s): 12

Free Mem:6G

2、注册中心服务器:

开发环境机器。

3、客户机器:

CPU(s): 2

Free Mem:2G

测试工具:

OneTest

版本信息:

Dubbo:2.8.4

Spring Cloud:1.4.3.RELEASE

http://mp.weixin.qq.com/s?__biz=MzA5MzQ2NTY0OA==&mid=2650796496&idx=1&sn=a544b76660484b9914b65f038cc39e6d&chksm=88562c8fbf21a5995909ffa9f172f31651b1ebd04897917e43caef3491954e24ed0d0477a5a1&mpshare=1&scene=23&srcid=01245faqrBlQETYK9c7zVmd3#rd

孰优孰劣?Dubbo VS Spring Cloud性能测试大对决!的更多相关文章

  1. 终极对决!Dubbo 和 Spring Cloud 微服务架构到底孰优孰劣

    标签: 微服务dubbospring架构 前言 微服务架构是互联网很热门的话题,是互联网技术发展的必然结果.它提倡将单一应用程序划分成一组小的服务,服务之间互相协调.互相配合,为用户提供最终价值.虽然 ...

  2. BT Smart vs ANT+ 技术孰优孰劣?

    自从Bluetooth SIG提出Bluetooth 4.0,其BLE(Bluetooth Low Energy)开始用于穿戴式电子,而后也用于iBeacon室内定位,更之后Bluetooth 4.1 ...

  3. Dubbo和Spring Cloud微服务架构比较

    Dubbo 出生于阿里系,是阿里巴巴服务化治理的核心框架,并被广泛应用于中国各互联网公司:只需要通过 Spring 配置的方式即可完成服务化,对于应用无入侵,设计的目的还是服务于自身的业务为主. 微服 ...

  4. dubbo 与Spring Cloud 对比

    链接:https://www.zhihu.com/question/45413135/answer/242224410 近期也看到一些分享Spring Cloud的相关实施经验,这对于最近正在整理Sp ...

  5. Dubbo和Spring Cloud微服务架构'

    微服务架构是互联网很热门的话题,是互联网技术发展的必然结果.它提倡将单一应用程序划分成一组小的服务,服务之间互相协调.互相配合,为用户提供最终价值.虽然微服务架构没有公认的技术标准和规范或者草案,但业 ...

  6. Dubbo和Spring Cloud

    1.Dubbo和Spring Cloud区别 1).通信方式不同 Dubbo使用RPC通信,Spring Cloud使用Http RestFul方式 2) 组成部分不同 组件 Dubbo Spring ...

  7. 你真的了解微服务架构吗?听听八年阿里架构师怎样讲述Dubbo和Spring Cloud微服务架构

    微服务架构是互联网很热门的话题,是互联网技术发展的必然结果.它提倡将单一应用程序划分成一组小的服务,服务之间互相协调.互相配合,为用户提供最终价值.虽然微服务架构没有公认的技术标准和规范或者草案,但业 ...

  8. 听听八年阿里架构师怎样讲述Dubbo和Spring Cloud微服务架构

    转自:https://baijiahao.baidu.com/s?id=1600174787011483381&wfr=spider&for=pc 微服务架构是互联网很热门的话题,是互 ...

  9. Dubbo 和 Spring Cloud微服务架构 比较及相关差异

    你真的了解微服务架构吗?听听八年阿里架构师怎样讲述Dubbo和Spring Cloud微服务架构. 微服务架构是互联网很热门的话题,是互联网技术发展的必然结果.它提倡将单一应用程序划分成一组小的服务, ...

随机推荐

  1. C#的ThreadStart 和 Thread

    多线程,new Thread(t1);和new Thread(new ThreadStart(t1));有什么区别 没有区别. 前者,是c#的语法.也就是说是编译器帮你改写为第二种形式. 因此你要搞清 ...

  2. Java远程方法协议(JRMP)

    Java远程方法协议(英语:Java Remote Method Protocol,JRMP)是特定于Java技术的.用于查找和引用远程对象的协议.这是运行在Java远程方法调用(RMI)之下.TCP ...

  3. chrony 时间同步

    RHEL7.4 192.168.100.1 作为时间服务器,其它主机到这台来同步时间. 时间服务器安装及配置:#yum install chrony --RHEL7默认已安装chrony,而没有安装n ...

  4. java开发微信模板消息推送

    发布时间:2018-12-12   技术:springboot+maven   概述 该demo主要涉及微信模板消息推送功能, 详细 代码下载:http://www.demodashi.com/dem ...

  5. 在发送信息时应用PendingIntent.FLAG_UPDATE_CURRENT

    1. 连续发送两条信息时,出现bug.以下是bug现象描述. 发送第一条信息,sentReceiver弹出toast告知发送成功,同时在listview中的发送状态立即同步更新为发送成功. 继续发送第 ...

  6. ios中base64编码

    参考文章:其中文章的:http://blog.csdn.net/ztp800201/article/details/9470065 下载包 其中 包括GTMBase包下载地址 http://pan.b ...

  7. PHP-SESSION深入理解

    1.浏览器窗口与SESSION间的关系 记得去年的时候网上抢手机(你懂的), 特意开两个窗口, 哪个进度快用哪个.如此到输入验证码的时候老是出错, 结果----没抢到~ 后来写了个程序, 如下: &l ...

  8. Java中用HttpsURLConnection访问Https链接

    在web应用交互过程中,有很多场景需要保证通信数据的安全:在前面也有好多篇文章介绍了在Web Service调用过程中用WS-Security来保证接口交互过程的安全性,值得注意的是,该种方式基于的传 ...

  9. SSD 为什么顺序写比随机写性能更好?

    SSD以Page为单位做读写,以Block为单位做垃圾回收,Page一般有16KB大小,Block一般有几十MB大小,SSD写数据的逻辑是: 1)将该块数据所在的Page读出 2)修改该Page中该块 ...

  10. IDEA导入项目jar包红线, cannot resolve symbol xxxx问题

    简单来说遇到的这种情况2种方式解决了, 不知道还有没有其他原因的. 1.reimport包 2.清缓存重启 针对1方法: a.确实不缺包: 可以先注释掉pom文件中的jar包, 此时idea会提示im ...