JMeter与ant的结合使用使得运行结果更丰富、图表化,可以直接浏览器查看。

默认你已经安装了jmeter且配置好了jdk环境变量,如有不懂的,可以先看这篇文章

传送门:http://blog.jianjiexuan.com/tools/jmeter/178.html

1、首先需要安装ant,

  下载地址:http://ant.apache.org/bindownload.cgi

  下载好了之后解压即可

2、配置环境变量

path           D:/apache-ant-1.9.1/bin

classpath        D:/apache-ant-1.9.1/lib

3、验证是否安装成功

    命令行运行:ant -version

ant         出现这个原因是因为Ant需要用到jre\lib目录下的tools.jar,我们把jdk\lib下的tools.jar拖过去就可以

重新输入命令:ant -version,成功

ant1

4、将jmeter的extras目录中ant-jmeter-1.0.9.jar包拷贝至ant安装目录下的lib目录中

5、修改Jmeter的bin目录下jmeter.properties文件的配置jmeter.save.saveservice.output_format=xml

6、编写脚本,build.xml,想要深入了解的可以自己去翻资料摸透,只是想实现效果的,可以直接将下方的代码拿去即可

♥注某些地方需要根据自己的实际情况进行修改

<?xml version="1.0" encoding="UTF-8"?>

<project name="ant-jmeter-test" default="all" basedir=".">

    <tstamp>

   <format property="time" pattern="yyyyMMddhhmm" />

    </tstamp>

    <!-- 需要改成自己本地的 Jmeter 目录-->

<property name="jmeter.home" value="D:\apache-jmeter-2.6" />

<!-- jmeter生成jtl格式的结果报告的路径-->

<property name="jmeter.result.jtl.dir" value="D:\resultLog\jtl" />

<!-- jmeter生成html格式的结果报告的路径-->

<property name="jmeter.result.html.dir" value="D:\resultLog\html" />

<!-- 生成的报告的前缀-->

<property name="ReportName" value="TestReport" />

<property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}${time}.jtl" />

<property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}${time}.html" />

<target name="all">

<antcall target="test" />

<antcall target="report" />

    </target>

<target name="test">

        <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />

        <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">

        <!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本-->

               <testplans dir="D:\testcase" includes="*.jmx" />

<property name="jmeter.save.saveservice.output_format" value="xml"/>

               </jmeter>

</target>

    <path id="xslt.classpath">

   <fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>

          <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>

            </path>

<target name="report">

<xslt classpathref="xslt.classpath"

force="true"

  in="${jmeter.result.jtlName}"

              out="${jmeter.result.htmlName}"

style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl" />

  <param name="dateReport" expression="${report.datestamp}"/>

        <!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 -->

<copy todir="${jmeter.result.html.dir}">

<fileset dir="${jmeter.home}/extras">

<include name="collapse.png" />

<include name="expand.png" />

</fileset>

</copy>

</target>

</project>

7、命令行,进入放build.xml脚本的目录下,运行ant,如图所示

ant2

8、运行结束后,打开对应路径下的html文件查看结果,如下图所示

ant3

所有的都结束啦,这个图表的作用也没那么大,主要是通过自己写build脚本,可以让执行变得多样化,也可以同时执行多个脚本。

使用非GUI模式,即命令行模式运行JMeter测试脚本,这样能够大大缩减所需要的系统资源。

命令需要在jmeter的bin目录下执行

命令:jmeter -n -t <testplan filename> -l <listener filename>

如:jmeter -n -t testplan.jmx -l log.jtl

停止运行:ctrl+c       停止后台运行:ctrl+z

解释:

  • -h帮助 → 打印出有用的信息并退出
  • -n非GUI模式 → 在非GUI模式下运行Jmeter
  • -t测试文件 → 要运行的JMeter测试脚本文件
  • -l日志文件 → 记录结果的文件
  • -r远程执行 → 启动远程服务
  • -H代理主机 → 设置JMeter使用的代理主机
  • -P代理端口 → 设置JMeter使用的代理主机的端口号

如:jmeter -n -t test1.jmx -l logfile1.jtl -H 192.168.1.1 -P 8080

服务器GUI模式(分布式测试):jmeter -server -H 192.168.1.1 -P 8080

备注

1、执行命令前要检查当前目录是否是%Jmeter_Home%\bin目录,如果不是,需要指定完整的路径;如果要把执行的结果保存在其他地方也要指定完整的路径。

2、执行结果可以使用GUI模式下的聚合报告查看。打开Jmeter GUI界面 →测试计划 →添加线程组 →添加聚合报告 →点击“所有数据写入一个文件”下的“浏览”,找到之前生成的.jtl文件即可。

3、命令行实时查看运行结果,需修改jmeter.properties,打开以下内容:

summariser.name=summary

summariser.interval=30  //这个表示统计频率

summariser.out=true //是否将统计结果输出到控制台

4、使用编辑器直接打开jtl文件

buchong1

名词解释:

属性 内容
httpSample 取样节点名字
t 用时(ms)
lt 延时(ms)-不是所有的取样器支持这个
ts 时间标志
s 是否成功
lb 标签
rc 响应代码
rm 响应消息
tn 线程名
dt 数据类型
by 字节数
de 数据编码
ng 在这个线程组中活跃的线程数
na 所有线程组中的活跃线程数

 

其实jmeter安装很简单,但是还是有人问起,这边就简单描述一下。

总概括

1、前置条件:安装配置好jdk

2、jmeter下载地址:

http://jmeter.apache.org/download_jmeter.cgi

3、一般启动:直接解压,点击bin目录里的jmeter.bat即可启动

4、服务器模式启动:jmeter -server.bat。允许在远程节点上以服务器模式运行jmeter,并通过jmeter gui来控制。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

详细扩展:

1、JDK的安装与配置

1)jdk下载:http://pan.baidu.com/s/1ge8efeF

2)双击适用的jdk版本的exe文件,一般安装至C:\Program Files\Java目录下;

3)配置环境变量:
①我的电脑→右键→属性→高级系统设置→环境变量

②在系统变量中新建,变量名:CLASSPATH,变量值:
C:\Program Files\Java\jdk1.7.0_71\lib\dt.JAR;
C:\Program Files\Java\jdk1.7.0_71\lib\TOOLS.JAR;
C:\Program Files\Java\jdk1.7.0_71\BIN;

③再新建,变量名:JAVA_HOME,变量中:
C:\Program Files\Java\jdk1.7.0_71;

④修改PATH变量,添加%JAVA_HOME%/bin;

⑤然后确定即可。

检测JDK是否安装成功:
在系统cmd中输入java -version,返回版本信息说明成功。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

2、Jmeter的安装与配置

1)下载地址:http://pan.baidu.com/s/1dEGVCwp,解压

2)配置环境变量:
①我的电脑→右键→属性→高级系统设置→环境变量

②在系统变量中新建,变量名:JMETER_HOME,变量值:(你当前解压jmeter的路径)

如:
D:\apache-jmeter-2.6;

③修改CLASSPATH变量,添加
%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;
% JMETER_HOME%\lib\jorphan.jar;
%JMETER_HOME%\lib\logkit-2.0.jar;

④然后确定即可。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

3、然后点击Jmeter目录下bin文件夹里的jmeter.bat就可以打开Jmeter

赶快去看我的另一篇文章:搭建基本测试环境,体验一下jmeter吧!

传送门:http://blog.jianjiexuan.com/tools/jmeter/98.html

jmeter为何需要分布式测试?

——jmeter由java开发,耗内存、cpu,所以大并发下需要分布式测试,这样可以避免性能测试中jmeter本身的影响

Controller:主要负责性能测试脚本的分发,及各个代理机(Agent)的测试结果收集汇总,报告产出。

Agent:主要负责执行性能测试脚本及断言(命令行模式执行,无界面),并将结果反馈给Controller。

步骤:

1、部署Agent(代理)

 配置环境变量,新建JMETER_HOME环境变量,在CLASSPATH加入如下内容:%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar; %JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-2.0.jar;

2、关闭防火墙

3、在主controller机器上的jmeter-bin目录下找到jmeter.properties,在打开的文件中查找“remote_hosts=”这个字符串,将localhost改为其他压力机的ip,端口号可默认一样

fenbushi1

4、然后运行所有agent机器上的jmeter-server.bat文件

5、启动主controller机子上的jmeter应用,添加监听器,选择菜单“运行-远程启动”来分别启动agent,也可以直接选择“远程全部启动”来将所有的agent启动

fenbushi2

如果需求为600并发,我们可以设置3个代理机,主controller上设置线程数为200即可

注意:

►jmeter版本和插件最好保持一致

 

►参数文件:如果用CSV进行参数化,那么需要把参数文件在每台slave上拷一份且路径需要设置成一样的。

 

►如果多网卡造成链接失败,可以在网络里面禁用agent其他虚拟网络:打开网络和共享中心->更改适配器设置->找到对应的虚拟网络,右击禁用

网上也有很多介绍JMeterPlugins的文章,但是大部分都不是很简单明了,下面只需几分钟就可以搞定用jmeter查看性能指标图表的问题

一、下载并安装JMeterPlugins

1、下载地址:http://jmeter-plugins.org/downloads/all/

 百度盘:http://pan.baidu.com/s/1dFC0VRj

2、下载好后将JMeterPlugins-Standard.zip中的JMeterPlugins-Standard.jar复制粘贴到jmeter的lib/ext下,重新启动jmeter,如图所示,监听器中多出了一些格式为jp@gc的选项

tuxing1

二、下载并安装serverAgent

1、下载地址:http://jmeter-plugins.org/downloads/all/

   百度盘:http://pan.baidu.com/s/1o7Wlh5C

2、我们需要将serverAgent目录及下面的文件复制到我们测试的服务器上,然后点击打开,默认端口是4444

如果被监控的服务器在windows下,则打开startAgent.bat,如果被监控的服务器在linux平台下,则打开startAgent.sh

双击打开之后的显示:

tuxing3

3、打开jmeter,添加“jp@gc-PerMon Metrics Collector”,点击“Add Row”,添加需要监控的指标。(也可以添加其他图形监控)

tuxing2

4、设置线程组及其他信息,点击运行,查看图表

 如下图所示,侧面是百分比

tuxing4

这样我们就可以在jmeter上查看图表啦,当然这个图表展示效果是没有LR好的,但是该有的也都有,主要是扩展性比较好。