一个针对所有RPC框架的性能测试,Dubbo排名居然垫底?

百家 作者:聊聊架构 2018-02-01 07:47:16
作者|鲁小憨
编辑|郭蕾

几乎所有的 RPC 框架都宣称自己是“高性能”的,那么实际结果到底如何呢, 让我们来做一个性能测试吧。

项目地址: https://github.com/hank-whu/rpc-benchmark

测试说明
  • 仅限于 Java;

  • 客户端使用 JMH 进行压测, 32 线程, 10 次预热, 3 次运行;

  • 每次运行前都会执行 killall java, 但没有在每轮测试时重启操作系统;

  • 所有类库版本在发布时都是最新的, 除非存在 bug;

  • 所有框架都尽量参考该项目自带的 Benchmark 实现;

  • 将会一直持续, 不定期发布测试结果;

测试用例
  1. boolean existUser(String email), 判断某个 email 是否存在;

  2. boolean createUser(User user), 添加一个 User;

  3. User getUser(long id), 根据 id 获取一个用户;

  4. PagelistUser(int pageNo), 获取用户列表;

运行结果
  • 生成时间: 2018-01-28 14:36:24;

  • 硬件环境: 阿里云 ecs.c4.xlarge, Intel Xeon E5-2667v4, 4CPU 8GB RAM 两台;

  • 软件环境: Ubuntu x64 16.04.5, Java HotSpot(TM) 64-Bit Server VM 9.0.4+11;

  • 启动参数: java -server -Xmx1g -Xms1g -XX:MaxDirectMemorySize=1g -XX:+UseG1GC;

existUser 判断某个 email 是否存在

createUser 添加一个 User

getUser 根据 id 获取一个用户

listUser 获取用户列表

免责声明
  • 能力所限错误在所难免, 本测试用例及测试结果仅供参考;

  • 如果你认为 xx 框架的代码或配置存在问题,那么欢迎发起 Pull Request;

  • 利益相关: 本测试用例作者同时为 turbo, undertow-async 的作者;

  • 本文转载自微信公众号微信公众号 rpcBenchmark;


如果你是,

处于转型期的新手技术管理者

关注前沿技术发展的 IT 人员

专注一线实战经验的技术人员

那么,《朱赟的技术管理课》专栏非常适合你,即学即用的技术管理、技术进阶技巧让你飞快成长!

识别下图二维码或点击“阅读原文”免费试读!

关注公众号:拾黑(shiheibook)了解更多

[广告]赞助链接:

四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

公众号 关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接