目录
一、写mqtt脚本
二、dubbo协议
三、jmeter测试dubbo接口
虚拟机中的项目已经启动。
一、写mqtt脚本
![bec65999cc8340124c4980d6b04ee226.png](https://img-blog.csdnimg.cn/img_convert/bec65999cc8340124c4980d6b04ee226.png)
![4afcdb70a27c69247ae1ccd37a657fcb.png](https://img-blog.csdnimg.cn/img_convert/4afcdb70a27c69247ae1ccd37a657fcb.png)
![ef997693f2fa8bd368926773d0fd2275.png](https://img-blog.csdnimg.cn/img_convert/ef997693f2fa8bd368926773d0fd2275.png)
![4949113edeaf1f2312cfb9e2ddae81fb.png](https://img-blog.csdnimg.cn/img_convert/4949113edeaf1f2312cfb9e2ddae81fb.png)
二、dubbo协议
dubbo协议: 微服务器框架协议,不对外暴露接口。 调用远程rpc服务,server服务 + 注册中心+ 消费者
。
把server服务部署到3台机器:3个server服务(每个服务有10个方法[adduser]
),注册到注册中心zookeeper记录3台机器ip/port
,10个方法地址。
管理者 monitor得到记录的信息。
消费者(可以是的代码,一般情况下是开发人员写的代码)。
![2d08b2db5d349feebf78e0f910f4683e.png](https://img-blog.csdnimg.cn/img_convert/2d08b2db5d349feebf78e0f910f4683e.png)
服务提供者提供的服务会告诉注册中心。消费者要用的时候,会问下管理者,再去注册中心拿到地址。
消费者再来调用这个服务。管理者进行管理和服务的调度。
接口和方法的区别:
接口:根据不同的协议,向外暴露接口,供外部调用(供这个服务本身之外的其它服务来调用)。
方法:不需要特定协议,一般不对外暴露,代码之间的方法直接调用。
在服务器的内部,部署了很多小的服务。
服务之间直接使用代码间方法的调用(不需要进行数据的封装了)比服务之间进行接口的调用,效率要高一些。
这个项目的zookeeper的端口:20181。
zookeeper的默认端口:2181。
三、jmeter测试dubbo接口
jmeter-plugins-dubbo-2.7.3-jar-with-dependencies.jar
(建议只用这个版本的jar包,其它的版本可能会有问题)丢到jmeter的lib\ext
文件夹下,然后重启jmeter。
因为放了这个jar包,jmeter启动变慢了。建议不测试dubbo接口的时候,把这个jar包移除出来。
dubbo取样器:
register seting
中选择zookeeper
。填写机器ip:20181
。
Interface setting:点击get provider list
(获取提供者的列表)。
![c00215a5bc547f45448a6d83867444ec.png](https://img-blog.csdnimg.cn/img_convert/c00215a5bc547f45448a6d83867444ec.png)
点击后,弹窗提示“可能会导致无响应几秒钟,是不是要继续?”点击yes。
![b7471bf9397d0c7ab2dc9cbf235ad12f.png](https://img-blog.csdnimg.cn/img_convert/b7471bf9397d0c7ab2dc9cbf235ad12f.png)
![e47d64b8bed2ecdf8ae83973ffb27a75.png](https://img-blog.csdnimg.cn/img_convert/e47d64b8bed2ecdf8ae83973ffb27a75.png)
![49935233cd0fef7a933a6bf472fc0265.png](https://img-blog.csdnimg.cn/img_convert/49935233cd0fef7a933a6bf472fc0265.png)
![c47740e176436a4eda932e4ea1da0861.png](https://img-blog.csdnimg.cn/img_convert/c47740e176436a4eda932e4ea1da0861.png)
这个项目里面的数据不是特别多,还能正常返回。如果是你们公司的项目,就要具体的来看了。
![3773c21f4671c030d9f450a986108d5b.png](https://img-blog.csdnimg.cn/img_convert/3773c21f4671c030d9f450a986108d5b.png)
![8c1acccf924f6728cfc5f398eb3f5fc8.png](https://img-blog.csdnimg.cn/img_convert/8c1acccf924f6728cfc5f398eb3f5fc8.png)
gitee脚本链接:
https://gitee.com/qinghanstudy/gaojixingneng/tree/master/Advanced%20performance%20testing
注意:只放了mqtt的脚本,没放jmeter测试dubbo接口的脚本(可能是服务异常了,此脚本没调通)。
但是文章中的技术内容无误。实操时会遇到各种情况,具体问题具体分析。
文章中除标明“图片来自网络”的图片,皆为小编本人所画所截图,计算机知识都一样,如有雷同,纯属巧合。文章是清菡编写的,如有转载,请标明出处!
欢迎关注 “清菡软件测试”,进群加v:qhtester,备注:学校(公司名)+姓名(昵称),否则不予通过,感谢点赞与分享!