单元测试与性能测试

本文主要介绍在进行 SOFARPC 开发时如何进行单元测试与性能测试。

单元测试

将单元测试的示例放到您自己开发的模块下。如果依赖了第三方服务端(例如 Zookeeper),请手动加入 profile,并放到 test-intergrated-3rd 模块中。参考 registry-zookeeper 模块代码。如果依赖了其它模块要集成测试,请放到 test/test-intergrated 模块中。

性能测试

  1. 在启动参数中修改以下参数,以关闭相关项目。

    -Dcontext.attachment.enable=false 
    -Dserialize.blacklist.enable=false 
    -Ddefault.tracer= false 
    -Dlogger.impl=com.alipay.sofa.rpc.log.SLF4JLoggerImpl 
    -Dmultiple.classloader.enable=false 
    -Devent.bus.enable=false
  2. bolt+hessian 进行压测。

    压测环境如下:

    • 服务端:4C8G 虚拟机、千兆网络、JDK1.8.0_111。

    • 客户端:50 个客户端并发请求。

    压测结果:

    协议

    请求

    响应

    服务端

    TPS

    平均 RT(ms)

    bolt+hessian

    1000 String

    1000 String

    直接返回

    10000

    1.93

    bolt+hessian

    1000 String

    1000 String

    直接返回

    20000

    4.13

    bolt+hessian

    1000 String

    1000 String

    直接返回

    30000

    7.32

    bolt+hessian

    1000 String

    1000 String

    直接返回

    40000

    15.78

    bolt+hessian

    1000 String

    1000 String

    直接返回

    50000(接近极限,错误率0.3%)

    26.51