All Projects → hank-whu → Rpc Benchmark

hank-whu / Rpc Benchmark

Licence: apache-2.0
java rpc benchmark, 灵感源自 https://www.techempower.com/benchmarks/

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Rpc Benchmark

Brpc Java
Java implementation for Baidu RPC, multi-protocol & high performance RPC.
Stars: ✭ 647 (+39.74%)
Mutual labels:  grpc, rpc, dubbo
Joyrpc
high-performance, high-extensibility Java rpc framework.
Stars: ✭ 290 (-37.37%)
Mutual labels:  grpc, rpc, dubbo
Javaspringbootsamples
SpringBoot、Dubbo、SpringCloud的各种集成例子:Atomikos、gRPC、Thrift、Seata、ShardingSphere、Dubbo、Hmily、Nacos、Consul、Ribbon、Jedis、Lettuce、Redisson等框架
Stars: ✭ 399 (-13.82%)
Mutual labels:  grpc, rpc, dubbo
Rpcx
Best microservices framework in Go, like alibaba Dubbo, but with more features, Scale easily. Try it. Test it. If you feel it's better, use it! 𝐉𝐚𝐯𝐚有𝐝𝐮𝐛𝐛𝐨, 𝐆𝐨𝐥𝐚𝐧𝐠有𝐫𝐩𝐜𝐱!
Stars: ✭ 6,516 (+1307.34%)
Mutual labels:  grpc, rpc, dubbo
Rpc Framework Tutorials
Java分布式RPC服务框架教程,包括 Dubbo/Dubbox, Motan, gRPC.
Stars: ✭ 114 (-75.38%)
Mutual labels:  grpc, rpc, dubbo
grpc bench
Various gRPC benchmarks
Stars: ✭ 480 (+3.67%)
Mutual labels:  benchmark, grpc
Rpcx Examples
examples for the latest rpcx
Stars: ✭ 256 (-44.71%)
Mutual labels:  rpc, dubbo
Flatbuffers
FlatBuffers: Memory Efficient Serialization Library
Stars: ✭ 17,180 (+3610.58%)
Mutual labels:  grpc, rpc
Node Zookeeper Dubbo
A middleware helps node to communicate dubbo by using its default protocol, which is registered in zookeeper
Stars: ✭ 296 (-36.07%)
Mutual labels:  rpc, dubbo
jmeter-grpc-plugin
A JMeter plugin supports load test gRPC
Stars: ✭ 36 (-92.22%)
Mutual labels:  benchmark, grpc
Armeria
Your go-to microservice framework for any situation, from the creator of Netty et al. You can build any type of microservice leveraging your favorite technologies, including gRPC, Thrift, Kotlin, Retrofit, Reactive Streams, Spring Boot and Dropwizard.
Stars: ✭ 3,392 (+632.61%)
Mutual labels:  grpc, rpc
Dis Seckill
👊SpringBoot+Zookeeper+Dubbo打造分布式高并发商品秒杀系统
Stars: ✭ 315 (-31.97%)
Mutual labels:  rpc, dubbo
wislove
Java 服务端api解决方案,处理部分通用业务逻辑。包括用户中心,支付,订单,IM相关,内容管理,角色权限授权。以及分库分表的处理,RPC分布式的解决方案等。一个人慢慢做
Stars: ✭ 14 (-96.98%)
Mutual labels:  rpc, dubbo
tsrpc
A TypeScript RPC framework, with runtime type checking and serialization, support both HTTP and WebSocket. It is very suitable for website / APP / games, and absolutely comfortable to full-stack TypeScript developers.
Stars: ✭ 866 (+87.04%)
Mutual labels:  grpc, rpc
Yarpc Go
A message passing platform for Go
Stars: ✭ 285 (-38.44%)
Mutual labels:  grpc, rpc
thinkgo
Public libraries and components for glang development.
Stars: ✭ 14 (-96.98%)
Mutual labels:  grpc, rpc
Springboot Learning
基于Gradle构建,使用SpringBoot在各个场景的应用,包括集成消息中间件、前后端分离、数据库、缓存、分布式锁、分布式事务等
Stars: ✭ 340 (-26.57%)
Mutual labels:  grpc, dubbo
Tonic
A native gRPC client & server implementation with async/await support.
Stars: ✭ 4,422 (+855.08%)
Mutual labels:  grpc, rpc
Akka Grpc
Akka gRPC
Stars: ✭ 361 (-22.03%)
Mutual labels:  grpc, rpc
rpc ts
Remote Procedure Calls in TypeScript made simple 🤞
Stars: ✭ 71 (-84.67%)
Mutual labels:  grpc, rpc

RPC Benchmark

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

测试结果

测试说明

  • 仅限于Java.
  • 客户端使用JMH进行压测, 32 线程, 3 轮预热 3 轮测试 每轮 10s
  • 每次运行前都会执行 killall java, 但没有在每轮测试时重启操作系统
  • 所有类库版本在发布时都是最新的, 除非存在bug
  • 所有框架都尽量参考该项目自带的Benchmark实现
  • 将会一直持续, 不定期发布测试结果
  • 更多说明请移步: 怎样对 RPC 进行有效的性能测试

测试用例

  1. boolean existUser(String email), 判断某个 email 是否存在
  2. boolean createUser(User user), 添加一个 User
  3. User getUser(long id), 根据 id 获取一个用户
  4. Page listUser(int pageNo), 获取用户列表

运行说明

  1. 需要两台机器,一台作为客户端,一台作为服务端
  2. 系统要求为 linux x64, 至少 4GB ram
  3. 客户端需要安装 jdk 11, maven 3
  4. 服务端需要安装 jdk 11
  5. 客户端服务端均需要设置 hosts

10.0.0.88 benchmark-client
10.0.0.99 benchmark-server

  1. 服务端需要添加用户 benchmark, 需要配置成客户端免密登录, 也就是客户端可以通过如下方式访问服务端

ssh [email protected] "ls -lh"

  1. 客户端执行如下命令, 结果输出到 benchmark/benchmark-result

git clone https://github.com/hank-whu/rpc-benchmark.git
cd rpc-benchmark
java benchmark.java

开发者必读

  1. cd benchmark-base && mvn install
  2. 配置好 hosts: benchmark-client benchmark-server
  3. 修改或者实现 xxx-server xxx-client
  4. 启动 Server, 然后启动 Client, 确保能不出错跑完所有测试项目
  5. 提交 Pull Request

免责声明

  • 能力所限错误在所难免, 本测试用例及测试结果仅供参考.
  • 如果你认为xx框架的代码或配置存在问题,那么欢迎发起Pull Request.
  • 利益相关: 本测试用例作者同时为 turbo, undertow-async 的作者.

关注微信公众号: rpcBenchmark

rpcBenchmark

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].