zoukankan      html  css  js  c++  java
  • 【转】JMeter学习(二十九)使用Jmeter创建ActiveMQ JMS POINT TO POINT请求,环境搭建、请求创建、插件安装、监听服务器资源等

    最近要做公司消息中间件的性能测试,第一个想到的工具就是Jmeter了,网上简单搜了一下,基本上都是WEB测试的居多,只好自己研究官方文档了。

    其中涉及Jmeter基本的术语或者概念,请自行参考官方文档或者google,这里主要讲JMS PTP请求是如何建立的。

    准备工作:

    • 安装JDK,推荐使用1.7以上版本,并设置JAVA_HOME
    • 下载Jmeter及相关插件:Jmeter下载地址点我插件下载地址点我ActiveMQ下载地址点我
    •  插件安装:
      • 分别解压前两个插件,将解压后文件夹中libext目录下的JmeterPlugins-Standard.jar和JmeterPlugins-Extras.jar拷贝到刚JMETER_HOMElibext目录下
      • 解压ServerAgent-2.2.1.zip
    • 针对JMS类型的Sampler,需要额外的jar包(我这里用的是apache ActiveMQ,将下载的AMQ apache-activemq-5.11.1根目录下的activemq-all-5.11.1.jar拷贝到JMETER_HOMElib目录下)
    • 启动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_HOMEin目录,以管理员身份运行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中拷贝到Jmeterlib中的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

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

  • 相关阅读:
    网络安全分析
    java实现 洛谷 P1464 Function
    java实现 洛谷 P1464 Function
    java实现 洛谷 P1014 Cantor表
    java实现 洛谷 P1014 Cantor表
    java实现 洛谷 P1014 Cantor表
    java实现 洛谷 P1014 Cantor表
    java实现 洛谷 P1014 Cantor表
    java实现 洛谷 P1540 机器
    java实现 洛谷 P1540 机器
  • 原文地址:https://www.cnblogs.com/perfectwang/p/7235466.html
Copyright © 2011-2022 走看看