[转]一个针对所有RPC框架的性能测试
几乎所有的 RPC 框架都宣称自己是“高性能”的,那么实际结果到底如何呢, 让我们来做一个性能测试吧。
项目地址: https://github.com/hank-whu/rpc-benchmark
- 仅限于 Java;
- 客户端使用 JMH 进行压测, 32 线程, 10 次预热, 3 次运行;
- 每次运行前都会执行 killall java, 但没有在每轮测试时重启操作系统;
- 所有类库版本在发布时都是最新的, 除非存在 bug;
- 所有框架都尽量参考该项目自带的 Benchmark 实现;
- 将会一直持续, 不定期发布测试结果;
- boolean existUser(String email), 判断某个 email 是否存在;
- boolean createUser(User user), 添加一个 User;
- User getUser(long id), 根据 id 获取一个用户;
- 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;
- 能力所限错误在所难免, 本测试用例及测试结果仅供参考;
- 如果你认为 xx 框架的代码或配置存在问题,那么欢迎发起 Pull Request;
- 利益相关: 本测试用例作者同时为 turbo, undertow-async 的作者;
- 本文转载自微信公众号微信公众号 rpcBenchmark;
[source]一个针对所有RPC框架的性能测试