转载

thrift 服务压测工具实现思路

市面上没找到合适的 thrift 服务压测工具,

  1. 手写工具

    因为 thrift 能生成 client 的 sdk, 可以调用,整成一个 cmd

    但是每个服务的传参都得手写,参数调整也不容易

  2. 自动生成代码

    可以对 压测的代码进行抽象,按模板的方式进行生成代码, 就跟

    避免重复劳动。

  3. 动态 thrift 的方式

暂时没看到成熟的 thrift 动态 序列化/反序列化 解决方案。目前的 Thrift 序列化/反序列化都是通过

生成代码的方式,每个接口的序列化/反序列化的代码是不一样的,无法做到统一。如果有一套统一的

序列化/反序列化工具,就可以写成一个通用的工具,使用者需要重新编码,只需要提供 IDL 文件和 相应的参数即可。

其实,可以参考 wrk 的 lua 脚本 解决方案。不过可行性待确认。

而且这种动态解决方案 一般都会用到反射机制,可能性能不会令人满意。

其实我们内部写过一个动态 thrift 的库,但是在实测过程中发现 当入参和出参 定义的结构体太过于复杂,导致编解码性能太差,就弃用了。不过我倒觉得这个库可以用在

本文地址 http://holys.im/2017/02/18/thoughts-on-thrift-service-load-testing/

原文  https://holys.im/2017/02/18/thoughts-on-thrift-service-load-testing/
正文到此结束
Loading...