转自:http://www.cnblogs.com/qianyiliushang/p/4348584.html

准备工作:

  • 安装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&amp;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的属性,具体见下图:

    • 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的采样器已经配置完成,去设置一个线程开始跑起来吧,下面是一次运行后的结果

聚合报告:

服务器资源占用情况:

总结:

以上只是工具及插件的简单使用,性能测试的重点不在这里,后面会讲分布式测试来解决客户端的瓶颈(网上也有教程,不过基本都是官方文档的翻译,有点不好理解),后续会接着分析各种性能报告指标及场景设计,敬请期待,欢迎阅读转载此文,如对文中所述有疑问,请留言提出或者联系我:chen_peng06@163.com

本文摘自:  清明-心若淡定    https://www.cnblogs.com/saryli/p/5446496.html

使用Jmeter创建ActiveMQ JMS POINT TO POINT请求,环境搭建、请求创建、插件安装、监听服务器资源等的更多相关文章

  1. 转: 使用Jmeter创建ActiveMQ JMS POINT TO POINT请求,环境搭建、请求创建、插件安装、监听服务器资源等

    转自:http://www.cnblogs.com/qianyiliushang/p/4348584.html 准备工作: 安装JDK,推荐使用1.7以上版本,并设置JAVA_HOME 下载Jmete ...

  2. Jmeter之性能测试插件PerfMon Metrics Collector监听器,实时监听服务器资源(十四)

    Servers Performance Monitoring Introduction During a load test, it is important to know the health o ...

  3. 从零开始学Xamarin.Forms(二) 环境搭建、创建项目

    原文:从零开始学Xamarin.Forms(二) 环境搭建.创建项目 一.环境搭建 Windows下环境搭建:     1.下载并安装jdk.Android SDK和NDK,当然还需要 VS2013 ...

  4. vue--1.环境搭建及创建项目

    转自https://blog.csdn.net/junshangshui/article/details/80376489 一.环境搭建及创建项目 1.安装node.js,webpack 2.安装vu ...

  5. Ionic3环境搭建及创建

    初次尝试Ionic,边学习边记录下来,以免以后忘记了,入坑向( ̄ω ̄;) 1.Ionic环境安装 Ionic开发是依赖于Nodejs环境的,所以在开发之前我们需要安装好Nodejs.下载安装:http ...

  6. 从零開始学Xamarin.Forms(二) 环境搭建、创建项目

    一.环境搭建 Windows下环境搭建:     1.下载并安装jdk.Android SDK和NDK.当然还须要 VS2013 update 2(VS2010.VS2012均可)以上. a.  最新 ...

  7. Jmeter无法监听服务器4444端口

    阿里云服务器开放了4444端口 jmeter还是无法监听: 解决方法: 阿里云安全组添加端口5555 服务器中启动监听插件使用5555端口,使用命令:java -jar ./CMDRunner.jar ...

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

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

  9. 【Android】cocos2d-x-3.1.1环境搭建与创建工程( Win7 32位系统)

    参考资料: http://blog.csdn.net/wxc237786026/article/details/32907079 1.环境搭建 2.创建工程 2.1 VS2012运行 2.2 Andr ...

随机推荐

  1. 终止TTask.Run启动的线程

    unit Unit15; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, Syste ...

  2. HDU 6098 17多校6 Inversion(思维+优化)

    Problem Description Give an array A, the index starts from 1.Now we want to know Bi=maxi∤jAj , i≥2. ...

  3. 【Python】unittest-2-断言

    Unittest中的断言 1.  python unintest单元测试框架提供了一整套内置的断言方法. (1)如果断言失败,则抛出一个AssertionError,并标识该测试为失败状态 (2)如果 ...

  4. mybatis-generator eclipse插件 使用方法

    mybatis-generator eclipse插件离线安装包 网址:http://download.csdn.net/download/gxl442172663/7624747 云盘地址:http ...

  5. ES6 函数的扩展-rest参数

    ES6 引入 rest 参数(形式为...变量名),用于获取函数的多余参数,这样就不需要使用arguments对象了.rest 参数搭配的变量是一个数组,该变量将多余的参数放入数组中. functio ...

  6. html+css实现小米商城首页静态页面

    学了一个星期的html和css,用新学的东西写点东西,仿照小米商城的首页按照它的页面布局盗用它的图片写了个小米商城的静态页面. 源代码:链接:https://pan.baidu.com/s/1qf63 ...

  7. Can't locate find.pl in @INC (@INC contains: /etc/perl xxxx) at perlpath.pl line 7.

    /********************************************************************** * Can't locate find.pl in @I ...

  8. 九度OJ1049题-去特定字符(和1111题特别像)

    题目1049:字符串去特定字符 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:11329 解决:5169 题目描述: 输入字符串s和字符c,要求去掉s中所有的c字符,并输出结果. 输入: ...

  9. libnsq编译、使用记录

    官方介绍libnsq是nsq的c库,尼玛还真是c库,如果用g++编译还真编译不过.这篇文章就是说一下怎么在c++中使用libnsq. 为什么用g++编译不过libnsq呢,因为其头文件中默认全是c函数 ...

  10. mysql操作基本命令

    查看索引 : show index from table_name 创建索引:create index index_name on table_name(column_name) 创建唯一索引:cre ...