odin-doc

Odin Develop Document

View project on GitHub

性能对比


rpcx压测

rpcx框架作者已对多种rpc框架进行压测,具体压测过程及结果如下

协议

所有的测试都是基于相同的数据,统一采用protobuffer进行序列化和反序列化

测试指标

  • 吞吐率: 每秒完成的请求量
  • 平均延迟: 服务发出到收到response所需的时间
  • P99延迟:99%的调用的延迟时间

测试环境

cpu cores为 32, Intel Xeon E5-2630 V3 @2.4GHz

测试结果

测试结果分别为模拟不同服务端处理耗时情况下

0ms处理耗时

picpicpic

10ms处理耗时

picpicpic

30ms处理耗时

picpicpic

整体来看,rpcx从吞吐、平均延迟、P99延迟等方面,仅在对比go原生rpc时,处于劣势,优于其他框架。

odin压测

测试指标

  • 吞吐率: 每秒完成的请求量

测试环境

  • OS:CentOS Linux release 7.4.1708 (Core)
  • CPU:4
  • Memory:8G

测试结果

测试结果分别为odin框架打开不同中间件情况下,整体QPS

pic

从图中可以明显看出:

  • odin框架打开默认中间件会带来一定的性能损耗,大约16%左右
  • 其中LogWarn中间件对性能影响最大,达到10%

Recovery和Context转化中间件对性能影响几乎可以忽略,且rpcx调用件传递context和panic恢复比较关键,强烈建议默认打开,其他中间件可根据项目实际需要添加。

client端同样对上述功能进行了封装,对性能影响类似,记录Log影响最大,自行选择使用,或通过Log级别控制