1. 程式人生 > >使用bender對thrift接口進行壓測

使用bender對thrift接口進行壓測

hadoop class facebook 創建 二進制格式 體積 代碼生成 憂傷 程序

背景: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接口進行壓測