高级性能测试系列《30.写mqtt脚本、dubbo协议、jmeter测试dubbo接口》

2022-12-02 21:54:35 浏览数 (1)

目录

  • 一、写mqtt脚本
  • 二、dubbo协议
  • 三、jmeter测试dubbo接口

虚拟机中的项目已经启动。

一、写mqtt脚本

发布主题。

订阅主题。

运行结果:因为是中文,所以显示的是乱码。

运行结果:执行2次发布主题后,可以看到发布的2个主题。

二、dubbo协议

dubbo协议: 微服务器框架协议,不对外暴露接口。 调用远程rpc服务,server服务 注册中心 消费者

把server服务部署到3台机器:3个server服务(每个服务有10个方法[adduser]),注册到注册中心zookeeper记录3台机器ip/port,10个方法地址。

管理者 monitor得到记录的信息。

消费者(可以是的代码,一般情况下是开发人员写的代码)。

图片来自网络

服务提供者提供的服务会告诉注册中心。消费者要用的时候,会问下管理者,再去注册中心拿到地址。

消费者再来调用这个服务。管理者进行管理和服务的调度。

接口和方法的区别:

接口:根据不同的协议,向外暴露接口,供外部调用(供这个服务本身之外的其它服务来调用)。

方法:不需要特定协议,一般不对外暴露,代码之间的方法直接调用。

在服务器的内部,部署了很多小的服务。

服务之间直接使用代码间方法的调用(不需要进行数据的封装了)比服务之间进行接口的调用,效率要高一些。

这个项目的zookeeper的端口:20181。

zookeeper的默认端口:2181。

三、jmeter测试dubbo接口

jmeter-plugins-dubbo-2.7.3-jar-with-dependencies.jar(建议只用这个版本的jar包,其它的版本可能会有问题)丢到jmeter的libext文件夹下,然后重启jmeter。

因为放了这个jar包,jmeter启动变慢了。建议不测试dubbo接口的时候,把这个jar包移除出来。

dubbo取样器:

register seting中选择zookeeper。填写机器ip:20181

Interface setting:点击get provider list(获取提供者的列表)。

点击后,弹窗提示“可能会导致无响应几秒钟,是不是要继续?”点击yes。

点击ok。

这边已经显示出接口的地址。

选择list方法

运行结果。

这个项目里面的数据不是特别多,还能正常返回。如果是你们公司的项目,就要具体的来看了。

添加一个用户。

运行结果:注册成功。

gitee脚本链接:

https://gitee.com/qinghanstudy/gaojixingneng/tree/master/Advanced performance testing

注意:只放了mqtt的脚本,没放jmeter测试dubbo接口的脚本(可能是服务异常了,此脚本没调通)。

但是文章中的技术内容无误。实操时会遇到各种情况,具体问题具体分析。


文章中除标明“图片来自网络”的图片,皆为小编本人所画所截图,计算机知识都一样,如有雷同,纯属巧合。文章是清菡编写的,如有转载,请标明出处!

0 人点赞