转载自 http://www.cnblogs.com/yangxia-test

准备工作

  • 针对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配置

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

聚合报告:

服务器资源占用情况:

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

使用Jmeter(三十)针对ActiveMQ JMS POINT TO POINT压力测试(转载)的更多相关文章

  1. 【转】使用Jmeter针对ActiveMQ JMS Point To Point压力测试

    准备工作 针对JMS类型的Sampler,需要额外的jar包(这里用的是apache ActiveMQ,将下载的AMQ apache-activemq-5.5.0根目录下的activemq-all-5 ...

  2. Jmeter(三十四) - 从入门到精通进阶篇 - 参数化(详解教程)

    1.简介 前边三十多篇文章主要介绍的是Jmeter的一些操作和基础知识,算是一些初级入门的知识点,从这一篇开始我们就来学习Jmeter比较高级的操作和深入的知识点了.今天这一篇主要是讲参数化,其实前边 ...

  3. Jmeter(三十八) - 从入门到精通进阶篇 - 命令行运行JMeter详解(详解教程)

    1.简介 前边一篇文章介绍了如何生成测试报告,细心地小伙伴或者同学们可以看到宏哥启动Jmeter生成测试报告不是在gui页面操作的,而是在gui页面设置好保存以后,用命令行来生成测试报告的.这一篇宏哥 ...

  4. Jmeter(三十)_TimeShift函数在JSR223中的使用

    今天学习一下TimeShift函数在JSR223中的使用方法. 关联之前的一篇时间戳文章:Jmeter(十二)_打印时间戳 首先,创建线程组,在线程组下面创建一个JSR223采样器 选择Groovy语 ...

  5. Jmeter(三十六) - 从入门到精通进阶篇 - 设置负载阶梯式压测场景(详解教程)

    1.简介 在性能测试中,有时需要模拟一种实际生产中经常出现的情况,即:从某个值开始不断增加压力,直至达到某个值,然后持续运行一段时间,然后继续加压达到某个值持续运行,如此循环直到达到预期的峰值,运行一 ...

  6. Jmeter(三十八)while控制器实现ssh三次重连

    在jmeter中,可以使用SSH协议连接主机进行相关操作, 步骤如下 首先添加一个ssh command  我们的测试交流群:317765580 在command中填写远程连接的必要信息 结果树中可以 ...

  7. Jmeter(三十六)_运行过程中改变负载

    顾名思义,jmeter在做性能测试时,可以在不停止脚本的情况下修改负载压力,达到期望的测试效果.我们将通过Constant Throughput Timer(吞吐量计时器)和Beanshell服务器来 ...

  8. Jmeter(三十五)_分布式

    jmeter分布式简单步骤说明: 1:添加远程服务器IP到配置文件 在JMETER_HOME / bin / jmeter.properties中,找到名为“ remote_hosts ” 的属性,并 ...

  9. Jmeter(三十五)_精确实现网页爬虫

    Jmeter实现了一个网站文章的爬虫,可以把所有文章分类保存到本地文件中,并以文章标题命名 它原理就是对网页提交一个请求,然后把返回的所有值提取出来,利用ForEach控制器去实现遍历.下面来介绍一下 ...

随机推荐

  1. Android dialog使用

    翻译自:开发->API 指南->User Interface & Navigation->Dialogs 注意: dialog是一个基类,但是我们应该尽可能避免直接使用dia ...

  2. 错误:SyntaxError: Missing parentheses in call to 'print'

    1.Python3编译器使用print函数需加括弧 print(XXX) 而Python 2可以print XXX 2.Python3表示不等只能用"!=" 3.在python3中 ...

  3. xsync

    shell  小工具,用于集群搭建: xsync脚本基于rsync工具,rsync 远程同步工具,主要用于备份和镜像.具有速度快.避免复制相同内容和支持符号链接的优点,它只是拷贝文件不同的部分,因而减 ...

  4. PHP斐波那契数列

    一个斐波那契数列的求法 1 1 2 3 5 8 13 21 34 55 要求写出算法   //数组法 function test($num){ $arr=[]; for($i=0;$i<=$nu ...

  5. VC 字符串转化和分割

    原文:点击这里. 备忘:为了适用于Unicode环境,要养成使用_T()宏的习惯 1.格式化字符串 CString s;s.Format(_T("The num is %d."), ...

  6. ssh-keygen生成git ssh密钥

    title: ssh-keygen生成git ssh密钥 date: 2018-05-07 08:49:21 tags: [git,ssh-keygen] --- ssh-keygen生成git ss ...

  7. 01-css的引入方式和常用选择器

    一.css介绍 现在的互联网前端分三层: HTML:超文本标记语言.从语义的角度描述页面结构. CSS:层叠样式表.从审美的角度负责页面样式. JS:JavaScript .从交互的角度描述页面行为 ...

  8. Activity启动模式(lauchMode)

    Activity启动模式(lauchMode) 本来想针对Activity中的启动模式写篇文章的,后来网上发现有人已经总结的相当好了,在此直接引用过来,并加上自己的一些理解,在此感谢原作者. 文章地址 ...

  9. BBS--后台管理页面,编辑文章,xss攻击

    1 1.对文章进行增删改查 # 后台管理url re_path(r'^cn_backend/$', views.cn_backend, name='cn_backend'), re_path(r'^c ...

  10. Linux:服务器/客户端API调用错误检查

    昨天和今天上午,我分别实现简单的服务器和客户端,运行之后表示没问题,一切正常.但是这还是有问题的,最大的一个就是没有错误检查.现在我们来加上错误检查: 服务器的代码: #include <std ...