如何对java mqtt程序测试性能

如何对java mqtt程序测试性能,第1张

Java编程下用JMeter Java Sampler进行多接口性能测试,使用方法如下:

/**

*JMeter Java Sampler介绍

*setupTest做些初始化的工作,每个线程只执行一次

*teardownTest做些清理工作,每个线程只执行一次

*runTest具体的测试执行工作,每个并发每次循环都将执行一次

**/

//继承AbstractJavaSamplerClient

public class hessianTest extends AbstractJavaSamplerClient{

//hessian调用地址

private static String url = "http://10.20.147.182:8080/hessian/remoting/userService"

MyService collect = null

HessianProxyFactory factory = new HessianProxyFactory()

public int id

@Override

public void setupTest(JavaSamplerContext arg0) {

//获取jmeter传入参数

id=arg0.getIntParameter("id")

try {

collect = (MyService) factory.create(

MyService.class, url)

} catch (MalformedURLException e) {

e.printStackTrace()

}

}

@Override

public SampleResult runTest(JavaSamplerContext arg0) {

SampleResult sp = new SampleResult()

sp.sampleStart()

User rt = null

try {

rt = collect.getUser(id)

} catch (Exception e) {

sp.sampleEnd()

sp.setSuccessful(false)

return sp

}

sp.sampleEnd()

if(rt.getId()==id)

sp.setSuccessful(true)

else

sp.setSuccessful(false)

return sp

}

@Override

public void teardownTest(JavaSamplerContext context) {

super.teardownTest(context)

}

}

1.安装MQTT插件mqtt-xmeter-jar-with-dependencies

2.添加取样器

这里qos:0、1、2不多说,要说的是

1.Sample on 这里要选择number of xxxx,这个就会一直等待直到订阅有收到内容位置(这样放在一个循环里很好用,不会说订阅收不到)

2.Debug response 打钩后,在你运行的时候可以在响应数据上看到数据(有场景是你的发布需要去到订阅到的信息,解析后发布的)

这里Response Body就能够看到订阅到的消息

这个结构是我要先获取订阅消息,然后把订阅消息提取出来发布。先运行Jmeter然后到订阅的时候就一直等待,我网站点击后(也可以做个Http接口访问操作),网站发布一条消息到我这,我订阅到了,然后取出订阅里的东西,组装后发布。

如果订阅的消息是加密的?我还不懂如何处理。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/516883.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-06-20
下一篇2023-06-20

发表评论

登录后才能评论

评论列表(0条)

    保存