首页 > 代码库 > 使用bender对thrift接口进行压测

使用bender对thrift接口进行压测

背景:Facebook 开发的远程服务调用框架 Apache Thrift,它采用接口描述语言定义并创建服务,支持可扩展的跨语言服务开发,所包含的代码生成引擎可以在多种语言中创建高效的、无缝的服务,其传输数据采用二进制格式,相对 XML 和 JSON 体积更小,对于高并发、大数据量和多语言的环境更有优势。

负责的搜索服务使用thrift,之前是对其http的上游服务进行压测,从而压到该thrift服务;后续想调研一种方式能够直接对thrift服务进行压测。

thrift框架的C++小程序见:http://www.cnblogs.com/zhaoxd07/p/5387215.html

调研方向:

一 Jmeter

具体逻辑与使用Jmeter进行java请求的压测方式相似:http://www.cnblogs.com/zhaoxd07/p/4895224.html

区别在于setUp中对于协议的选择,会对结果有较大影响

TProtocol protocol = new TCompactProtocol(transport);
client = new Service.Client(protocol);

原则为:与被测代码使用协议一致即可

二 bender

https://github.com/pinterest/bender

为Pinterest公司开发的,使用go语言实现。实际测试了一样,挺好用的(除了go语言是在是让人季度忧伤)

主要难点在于main.go文件的实现,与Jmeter需要注意点一致:协议的使用

要下班了,后续补充一下具体细节。

使用bender对thrift接口进行压测