使用Jmeter创建ActiveMQ JMS POINT TO POINT请求

简介:

准备工作:

  • 安装JDK,推荐使用1.7以上版本,并设置JAVA_HOME

  • 下载Jmeter及相关插件:Jmeter 下载地址点我 , 插件下载地址点我 ,ActiveMQ下载地址点我 

  •  插件安装:

    • 分别解压前两个插件,将解压后文件夹中lib\ext目录下的JmeterPlugins-Standard.jar和JmeterPlugins-Extras.jar拷贝到刚JMETER_HOME\lib\ext目录下

    • 解压ServerAgent-2.2.1.zip

  • 针对JMS类型的Sampler,需要额外的jar包(我这里用的是apache ActiveMQ,将下载的AMQ apache-activemq-5.11.1根目录下的activemq-all-5.11.1.jar拷贝到JMETER_HOME\lib目录下)

  • 启动ActiveMQ:打开dos窗口,进入ActiveMQ解压目录下的bin目录,输入命令:activemq.bat start

    • Tips:在启动ActiveMQ前,修改conf目录下的activemq.xml中的配置

      <transportConnector name="openwire" uri="tcp://0.0.0.0:61616?maximumConnections=65535&wireFormat.maxFrameSize=104857600"/>

      上面标记的这个数字为最大连接数,自己设置,如果太小的话会导致发送的请求都被拒绝

  • 启动ServerAgent:进入刚才解压的目录,以管理员身份运行startAgent.bat

哈哈,有木有觉得很麻烦,有点不耐烦了呢?至此,所有的准备工作已经就绪,下面开始使用Jmeter。

创建JMS P2P请求:

  • 启动Jmeter:进入JMETER_HOME\bin目录,以管理员身份运行Jmeter.bat,此时会启动两个窗口,一个是dos窗口(请勿关闭此窗口),另一个是Jmeter的GUI界面

  • 添加一个线程组

  • 添加Samper:选择JMS POINT TO POINT

  • 配置Sampler,这一块才是重点,因为要用到JNDI,之前网上看了些文章,都是直接修改ApacheJMeter_core.jar中的jemeter.properties文件,这种方式比较麻烦,涉及重新打包,这里我就直接在Jmeter GUI中配置JNDI的属性,具体见下图:

wKioL1bTrWWyCV4KAACfy3QvCss981.png


    • QueueConnection Factory:连接名

    • JNDI name Request queue:JNDI请求发送队列名

    • JNDI name Recieve queue:JNDI接收队列

    • TimeOut:超时时长

    • Expiration:过期时间

    • Communication style:Request only(只发送请求,如果选择Request Response模式,需要设置CorrelationId,并且需要服务端调用getReplyTo()方法来监听请求,这个一直没调通,回头再研究看看能不能通过自己写代码实现)

    • Content:发送消息内容,这里调用Jmeter的函数助手发送512个字符

    • Initial Context Factory:org.apache.activemq.jndi.ActiveMQInitialContextFactory(这个在之前从AMQ中拷贝到Jmeter\lib中的jar包里,Jmeter会自动扫描到)

    • JNDI Properties,queue.Test.Request和queue.Test.Reply,这里定义前面用到的两个变量

    • Provider URL:tcp://localhost:61616,这个是消息服务器的ip和端口,我这里用的本地的

  • 下面就是添加监听器了,添加一个聚合报告,然后再添加一个jp@gc - PerfMon Metrics Collector监听器,其它的监听器及配置元件根据自己的实际需要来添加,这里贴一个PerfMon Metrics Collector配置

wKiom1bTrQbSqEf1AABouj0vkEY803.png

  • 现在,一个JMS PTP的采样器已经配置完成,去设置一个线程开始跑起来吧,下面是一次运行后的结果

聚合报告:

wKioL1bTrYzzz1OyAAA3DhEslOQ545.png

服务器资源占用情况:

wKioL1bTrZnhB25UAAFh2dDcwWw385.png










本文转自 小强测试帮 51CTO博客,原文链接:http://blog.51cto.com/xqtesting/1745899,如需转载请自行联系原作者
目录
相关文章
|
5月前
|
编解码 测试技术 索引
性能工具之 Jmeter 使用 HTTP 请求编写 HLS 脚本
在我们简要介绍了 HLS 协议的基础知识,接下来我们详细介绍一种使用 Jmeter 编写压测 HLS 协议脚本的方法。
138 1
性能工具之 Jmeter 使用 HTTP 请求编写 HLS 脚本
|
5月前
|
测试技术 API
使用 jMeter 给 Spartacus SSR 发送 100 个并发的 SSR 请求,全部被 SSR 响应了
使用 jMeter 给 Spartacus SSR 发送 100 个并发的 SSR 请求,全部被 SSR 响应了
|
前端开发 JavaScript 测试技术
jmeter--录制请求
jmeter--录制请求
|
测试技术
jmeter辅助功能详解(http请求默认值,断言)
jmeter辅助功能详解(http请求默认值,断言)
168 0
|
JSON Apache 数据格式
Mac下Jmeter快速安装与入门-模拟测试Post请求及设置Http头
Mac下Jmeter快速安装与入门-模拟测试Post请求及设置Http头
207 0
|
网络协议 Java 应用服务中间件
JMeter Sampler-http请求之KeepAlive使用总结
JMeter Sampler-http请求之KeepAlive使用总结
625 0
|
测试技术
JMeter http(s)请求插件jmeter-plugin-httpBinaryFileUpload.jar
JMeter http(s)请求插件jmeter-plugin-httpBinaryFileUpload.jar
121 0
|
Dubbo Java 应用服务中间件
JMeter Dubbo请求插件jmeter-plugin-dubbo.jar
JMeter Dubbo请求插件jmeter-plugin-dubbo.jar
229 0
|
Java 测试技术
JMeter 中实现发送Java请求
JMeter 中实现发送Java请求
181 0