你們都知道 dubbo 是一個優秀 rpc 框架,它通常(dubbox 除外)經過對外提供 tcp協議的接口進行外部調用。而咱們平常使用的測試工具 jmeter 並不支持 dubbo 協議的請求。因此本文到此結束,謝謝觀看,再見。git
固然 jmeter 自己的確是不支持 dubbo 的請求,可是呢,有一個老哥,他經過 dubbo 的泛化調用特性寫了一個jmeter 的插件,使用這個插件能夠很方便的進行 dubbo 接口的調用。下面就來講說若是使用 jmeter 進行 dubbo 接口測試。github
安裝插件的第一件事確定是下載了,點擊上面的各版本下載地址去下載最新的插件,這裏有兩點要注意。apache
安裝就比較簡單了,把上步下載的包放入jmeter 安裝目錄下的 ${JMETER_HOME}\lib\ext,重啓就 OK 了json
默認會建立一個 Test Plan (測試計劃)框架
在 Test Plan 上右擊,而後添加 -> 線程 -> 線程組tcp
若是隻是接口測試的話直接用默認配置的就能夠了,這些配置與壓測有關,後面會另起文章說明ide
右擊線程組,添加 -> 配置元件 -> Dubbo Config工具
這裏就須要按照你項目的具體狀況進行配置了測試
其它按需配置就能夠了插件
右擊 線程組,添加 -> 取樣器 -> Dubbo Sample
若是不想直接輸入的話,點擊 Get Provider List 會自動鏈接上面 Dubbo Config 配置的 zk 地址得到全部註冊的服務
點擊 Get Provider List 1.
肯定提示 1. 點擊按鈕後會有一個可能會比較耗時的提示,無論點 Yes 就行 1.
獲取完成後提示 1.
選擇要進行測試的接口與方法
選擇你要調用的接口 1. 在 Interfaces 的下拉框選擇,固然你也能夠直接輸入 1.
選擇你要調用的方法 1. 在 Methods 下拉框選擇,固然你一樣能夠輸入 1.
設置參數 1. 咱們以一個判斷是否爲工做日的接口爲例
2. 參數定義 1.
3. 響應值定義 1.
2. 添加參數 1. 點擊 Args 右邊的,增長按鈕 1. 在 paramType 框內添加參數類的全限定名,注意這裏是 paramType 是**參數類型**而不是參數名稱 1. 在 paramValue 添加你要傳參的參數類的 json 形式 1.
上一步運行後,運行一閃而過,除非查服務端日誌,不然咱們確定不知道響應的接口是什麼。因此要配置一下結果記錄 右擊 線程組,添加 -> 監聽器 -> 察看結果樹
再運行一次,發現察看結果樹內已經有請求記錄了,其中響應數據就是本次請求的結果。請求結果比真正的返回類多了一個 class 字段,由於是使用的泛化調用,這裏是告知響應類的類型