使用Jmeter针对ActiveMQ JMS Point To Point压力测试

Posted 软件测试培训

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Jmeter针对ActiveMQ JMS Point To Point压力测试相关的知识,希望对你有一定的参考价值。

啄木鸟软件测试培训网www.3testing.com

软件测试基础教程(顾翔老师讲座),欢迎下载:

1,软件测试基础教程(第一部分)_顾翔_2015.11.5:链接: http://pan.baidu.com/s/1ntnKfIL 密码: xk99

2,软件测试基础教程(第二部分)测试模型、级别和阶段(上)_顾翔_2015.11.12:链接: http://pan.baidu.com/s/1qW5pwZy 密码: nfwf

3,软件测试基础教程(第三部分)测试阶段(下),准则,白盒测试(上)_顾翔_2015.11.26链接:链接: http://pan.baidu.com/s/1dD5CTJr 密码: gxr9


准备工作

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

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

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

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

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

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

  创建JMS测试计划

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

  添加一个线程组

  添加Samper:选择JMS POINT TO POINT

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

  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配置

使用Jmeter针对ActiveMQ JMS Point To Point压力测试

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

  聚合报告:

使用Jmeter针对ActiveMQ JMS Point To Point压力测试

  服务器资源占用情况:

  小结:针对此压力测试,只是参照此运行成功,对此中间件并不是很了解,希望后续有空能了解此中间件.


以上是关于使用Jmeter针对ActiveMQ JMS Point To Point压力测试的主要内容,如果未能解决你的问题,请参考以下文章

JMeter4.0学习JMeter对JMS性能测试脚本开发

JMeter学习(二十九)使用Jmeter创建ActiveMQ JMS POINT TO POINT请求,环境搭建请求创建插件安装监听服务器资源等

敲重点啦!| Jmeter测试ActiveMQ服务

Jmeter中间件处理-ActiveMQ

activemq入门实例

使用 JMS (ActiveMQ) 进行单元测试