Skip to content

Latest commit

 

History

History
56 lines (43 loc) · 1.95 KB

Benchmark.md

File metadata and controls

56 lines (43 loc) · 1.95 KB

基准测试

本基准测试基本使用 rpc-benchmark 思路进行测试

测试环境:

  1. MacBook Pro (13-inch, 2018, Four Thunderbolt 3 Ports) 16GB MacOS Mojave-10.14.3
  2. Java8

主要分为四个方法:

public interface UserService {
    boolean existUser(String email); // 小输入,小输出

    boolean createUser(User user);   // 大输入,小输出

    User getUser(long id);           // 小输入,大输出

    Page<User> listUser(int pageNo); // 小输入,超大输出
}

主要测试了目前主流的三种RPC框架Dubbo,Thrift,Grpc和本项目CaoyxRpc

existUser

framework thrpt (ops/ms) avgt (ms) p90 (ms) p99 (ms) p999 (ms)
thrift 72.089 0.444 0.890 2.114 4.162
caoyxRpc 40.063 0.703 0.964 1.669 3.203
dubbo 39.192 0.762 0.919 1.264 4.243
grpc 36.108 0.859 1.002 1.720 2.698

createUser

framework thrpt (ops/ms) avgt (ms) p90 (ms) p99 (ms) p999 (ms)
thrift 65.847 0.470 0.950 2.273 4.112
dubbo 34.953 0.832 1.063 1.866 4.628
caoyxRpc 33.838 0.821 1.104 2.146 3.527
grpc 30.144 0.924 1.161 1.878 3.143

getUser

framework thrpt (ops/ms) avgt (ms) p90 (ms) p99 (ms) p999 (ms)
thrift 62.169 0.468 0.952 2.294 4.284
dubbo 38.646 0.799 0.989 1.356 4.407
caoyxRpc 38.327 0.763 1.004 1.896 3.281
grpc 35.867 0.901 1.071 1.843 2.920

listUser

framework thrpt (ops/ms) avgt (ms) p90 (ms) p99 (ms) p999 (ms)
thrift 66.082 0.471 0.990 2.531 5.087
caoyxRpc 41.521 0.849 1.073 2.154 3.359
grpc 36.118 0.896 1.110 1.866 3.199
dubbo 35.822 0.917 1.165 1.653 4.530