背景介绍
我们在项目中逐渐切换使用了gRPC作为服务间调用的主要手段,逐步替换RESTful API在目前我们项目中的使用。在使用过程中,gRPC的效率是我们想对比较关心并且从目前来看相对难以优化的组件,所以本文就是探讨如何能够在不修改gRPC源码的前提下尽量提升gRPC的性能。
grpc官方提供了性能benchmark可以供大家查看,具体的链接可以在 gRPC Performance Dashboard 中查看。
性能测试
性能测试采用我们的线上标配,目前由于业务量原因,其实性能并不高,这里只是对比参考,建议你在后续处理过程中自行测试。其实最简单的处理方式就是创建多个gRPC client。
单Client处理:
1 | ➜ client ./client -n 100000 -c 1 |
修改Client数目为10:
1 | ➜ client ./client -n 100000 -c 10 |
修改Client数目为20:
1 | ➜ client ./client -n 100000 -c 20 |
修改Client数目为15:
1 | ➜ client ./client -n 100000 -c 15 |