市面上没找到合适的 thrift 服务压测工具,
手写工具
因为 thrift 能生成 client 的 sdk, 可以调用,整成一个 cmd
但是每个服务的传参都得手写,参数调整也不容易
自动生成代码
可以对 压测的代码进行抽象,按模板的方式进行生成代码, 就跟
避免重复劳动。
动态 thrift 的方式
暂时没看到成熟的 thrift 动态 序列化/反序列化 解决方案。目前的 Thrift 序列化/反序列化都是通过
生成代码的方式,每个接口的序列化/反序列化的代码是不一样的,无法做到统一。如果有一套统一的
序列化/反序列化工具,就可以写成一个通用的工具,使用者需要重新编码,只需要提供 IDL 文件和 相应的参数即可。
其实,可以参考 wrk 的 lua 脚本 解决方案。不过可行性待确认。
而且这种动态解决方案 一般都会用到反射机制,可能性能不会令人满意。
其实我们内部写过一个动态 thrift 的库,但是在实测过程中发现 当入参和出参 定义的结构体太过于复杂,导致编解码性能太差,就弃用了。不过我倒觉得这个库可以用在
本文地址 http://holys.im/2017/02/18/thoughts-on-thrift-service-load-testing/