背景: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需要注意点一致:协议的使用
要下班了,后续补充一下具体细节。
时间: 2024-10-13 04:49:47