在线不卡日本ⅴ一区v二区_精品一区二区中文字幕_天堂v在线视频_亚洲五月天婷婷中文网站

  • <menu id="lky3g"></menu>
  • <style id="lky3g"></style>
    <pre id="lky3g"><tt id="lky3g"></tt></pre>

    Jmeter 插件測試dubbo接口

    Jmeter 插件測試dubbo接口

    對于如何使用Jmeter測試http接口,大家都已經(jīng)比較熟悉,網(wǎng)上相關的知識也很多。但隨著微服務越來越流行,僅僅會測試http接口已經(jīng)遠遠不夠。Dubbo作為當下非常流行的RPC接口,學習如何測試Dubbo接口已經(jīng)成為了測試人員進階的必備知識之一。

    對于Dubbo接口的測試,可以通過編寫代碼的方式、使用工具的方式,今天我們先講如何通過Jmeter Dubbo插件來測試Dubbo接口。

    一、插件下載

    插件下載地址:https://github.com/thubbo/jmeter-plugins-for-apache-dubbo/releases

    下載jmeter-plugins-dubbo-2.7.8-jar-with-dependencies.jar版本,此包中已含必要的依賴,推薦使用with-dependencies.jar包,下載后放到JMeter安裝目錄中的lib/ext路徑下。

    使用的Jmeter的版本:5.4.3

    插一句:如何修改Jmeter背景色為白色,我是真的用不習慣黑色的那個背景:

    二、環(huán)境接口

    開發(fā)環(huán)境ZK地址:zookeeper://devzk1.xx.com:2181?backup=devzk2.xx.com:2181,devzk3.xx.com:2181

    dubbo直連服務器, 服務器:xx.xx.xx.xx:20880 , 20880是dubbo的服務端口

    dubbo接口:com.xxxx.test.sdk.api.DubboServiceTestYY方法名:yyTestDubbo入?yún)?span id="k99orjm" class="wpcom_tag_link">類型:自定義的POJO對象:com.xxxx.test.sdk.para.Param參數(shù)值:{“name”:“test”,“age”:1,“address”:“中國”}

    三、Dubbo Sample 直連Dubbo配置

    取樣器選擇Dubbo Sampler,直連的方式配置:

    1、 Registry Center(注冊設置) 區(qū)域填寫內(nèi)容:由于是用直連的方式,所以Protocol選none。Address填寫直連服務器的信息:xx.xx.xx.xx:20880

    2、Consumer&Service Settings(消費者和服務者設置):Timeout:設置請求接口超時時間,默認1000ms, 就用默認的就行,如果實際接口響應比較慢,也可以改大點,比如改成5000

    Version:版本,一般無需填寫。Dubbo不同版本之間差異較大,不同版本之間不能互相調(diào)用。注意:默認這里填的是1.0,現(xiàn)在dubbo的版本都是2.xx了,因此直接刪掉版本號,就讓這里為空,不然用默認的1.0會調(diào)不通。最開始我沒有管這個值,結果發(fā)現(xiàn)調(diào)不通,刪了version的值就成功調(diào)通了。

    后面其他的幾項指標都不管,保持默認就行。

    3、Get Provider List按鈕:根據(jù)Address填寫的地址,獲取服務提供者的服務列表。直連的方式下,點這個按鈕沒用,會提示讓你把Protocol選為zookeepr or nacos or redis, 但是直連的時候Protocol要選none, 所以直連的時候就手動在下面去填interface和method,不用 Get Provider List按鈕來獲取。

    4、 Interface 填 dubbo的接口:com.xxxx.test.sdk.api.DubboServiceTestYYMethod填方法名:yyTestDubbo

    5、 Args:接口入?yún)?,輸入對應的參?shù)類型和參數(shù)值paramType:參數(shù)支持任何類型,可以直接使用java.lang下的包裝類,如:int、float、shot、double、long、byte、boolean、char、String等。類型也可以是自定義對象POJO,需使用類的完全名稱。我們這里接口是要用自定義對象: com.xxxx.test.sdk.para.Param?!aramValue:填寫需要的參數(shù)值,例如:int為1,boolean為true等,自定義類與List或者Map等使用Json格式數(shù)據(jù)。我們這里接口是要用Json格式數(shù)據(jù):{“name”:“test”,“age”:1,“address”:“中國”} 注意:有個小坑,paramValue填完值之后,如果馬上填運行按鈕調(diào)接口,會發(fā)現(xiàn)paramValue值消失了,沒保存上。所以要再點一下增加按鈕添加一行空白行,再刪掉這行空白行,這樣就保存上了。

    執(zhí)行接口調(diào)用,調(diào)用成功:

    四、Dubbo Sample ZK方式配置

    1、 Registry Center(注冊設置) 區(qū)域填寫內(nèi)容:由于是用ZK的方式,所以Protocol選zookeeper。Address填寫直連服務器的信息:zookeeper://devzk1.xx.com:2181?backup=devzk2.xx.com:2181,devzk3.xx.com:2181

    其他項填寫,和直連的方式一樣。

    注意:實際測試中發(fā)現(xiàn)即使是用的ZK的方式,Get Provider List按鈕也獲取不到服務提供者的服務列表,點擊之后會先出現(xiàn)提示信息:

    意思是:獲取所有提供者的服務列表,可能會導致 JMeter 停止響應幾秒鐘。你要繼續(xù)嗎?點擊是,理論上正常的話會停頓一會兒,然后彈窗提示獲取提供者列表成功!

    如果10秒中都沒有出現(xiàn)如上彈框,證明列表獲取失敗,可能是zookeeper地址填寫錯誤,也可能是服務有問題了。而此時JMeter界面是卡死狀態(tài),需要強制關閉掉JMeter,因為等再長時間也沒有意義了。

    而實際測試的時候,發(fā)現(xiàn)我的ZK是對的,服務器也是正常運行的,也沒有出現(xiàn)彈窗,Jmeter也會卡死。因此建議還是直接在下面手動輸入Interface和Method吧。

    執(zhí)行接口調(diào)用,調(diào)用成功:

    鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場,版權歸原作者所有,如有侵權請聯(lián)系管理員(admin#wlmqw.com)刪除。
    用戶投稿
    上一篇 2022年7月9日 09:14
    下一篇 2022年7月9日 09:15

    相關推薦

    聯(lián)系我們

    聯(lián)系郵箱:admin#wlmqw.com
    工作時間:周一至周五,10:30-18:30,節(jié)假日休息