转自:KIWI的碎碎念
大家都知道 dubbo 是一个优秀 rpc 框架,它一般(dubbox 除外)通过对外提供 tcp协议的接口进行外部调用。而我们日常使用的测试工具 jmeter 并不支持 dubbo 协议的请求。所以本文到此结束,谢谢观看,再见。
当然 jmeter 本身的确是不支持 dubbo 的请求,但是呢,有一个老哥,他通过 dubbo 的泛化调用特性写了一个jmeter 的插件,使用这个插件可以很方便的进行 dubbo 接口的调用。下面就来说说如果使用 jmeter 进行 dubbo 接口测试。
安装插件的第一件事肯定是下载了,点击上面的各版本下载地址[4]去下载最新的插件,这里有两点要注意。
安装就比较简单了,把上步下载的包放入jmeter 安装目录下的 ${JMETER_HOME}\lib\ext,重启就 OK 了
默认会创建一个 Test Plan (测试计划)
在 Test Plan 上右击,然后添加 -> 线程 -> 线程组
如果只是接口测试的话直接用默认配置的就可以了,这些配置与压测有关,后面会另起文章说明
右击线程组,添加 -> 配置元件 -> Dubbo Config
这里就需要按照你项目的具体情况进行配置了
其它按需配置就可以了
右击 线程组,添加 -> 取样器 -> Dubbo Sample
如果不想直接输入的话,点击 Get Provider List 会自动连接上面 Dubbo Config 配置的 zk 地址获得所有注册的服务
image.png
image.png
image.png
2. 选择要进行测试的接口与方法
image.png
image.png
3. 设置参数
image.png
image.png
image.png
image.png
上一步运行后,运行一闪而过,除非查服务端日志,否则我们肯定不知道响应的接口是什么。所以要配置一下结果记录 右击 线程组,添加 -> 监听器 -> 察看结果树
再运行一次,发现察看结果树内已经有请求记录了,其中响应数据就是本次请求的结果。请求结果比真正的返回类多了一个 class 字段,因为是使用的泛化调用,这里是告知响应类的类型
[1]
项目的 github 地址: https://github.com/thubbo/jmeter-plugins-for-apache-dubbo
[2]
官方文档地址: https://github.com/thubbo/jmeter-plugins-for-apache-dubbo/wiki/%E7%94%A8%E6%88%B7%E6%8C%87%E5%8D%97
[3]
各版本下载地址: https://github.com/thubbo/jmeter-plugins-for-apache-dubbo/releases
[4]
各版本下载地址: https://github.com/thubbo/jmeter-plugins-for-apache-dubbo/releases