linux环境下使用jmeter进行压力测试


linux环境下使用就meter进行压力测试:

linux环境部署:

  1. 在Linux服务器先安装jdk:
    2.以jdk-8u172-linux-x64.tar.gz为例:
    下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html
    jdk1.png-74.9kB

1.根据自己的服务器的机型选择:小编的是64位的,这里就以64位为例:
jdk2.png-38.1kB

3.然后把下载tar.gz文件发送到服务器上:
这里我们可以使用xshell,连接服务器,同时也要下载xftp来连接服务器,然后通过xftp,把这些对应的文件的文件传到服务器上,对应的xshell,如下是我的云开盘地址,免密码下载;
https://pan.baidu.com/s/1bL4fK_UHjHmoEzUo7PDoGw

4.然后安装xshell文件,然后配置对应的服务器的ip,对应用的用户名,密码

5.然后安装xftp,安装成功之后,查看xshell的连接界面,会有一个xftp的图标,
jdk3.png-38.1kB

6.此时点击xftp然后点击并且能够看到,左边是自己的本地,右边是服务器的文件,这样就方便用户查看服务器的文件,也可以随时上传文件到服务器;

7.把jdk的压缩包传到服务器,并且放到/opt目录

8.cd /opt

9.给安装包赋予运行权限

10.chmod 755 jdk-8u172-linux-x64.tar.gz

11.然后:ll

12.查看文件此时有了执行权限:-rwxr-xr-x 1 root root 190921804 Jul 5 13:26 jdk-8u172-linux-x64.tar.gz

13.然后解压:tar xzvf jdk-8u172-linux-x64.tar.gz /usr/lib

14.然后开始配置环境变量:(具体的Jdk的路径以自己的解压路径为准)

15.vim /etc/profile

16.输入 i 让文件变为编辑模式,然后输入的对应的环境变量:
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_172
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.😒{JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

然后 输入:esc,然后输入:wq 回车

17.使配置文件生效,source /etc/profile

18.然后检查,java -version

结果出现:java version "1.8.0_172"
Java(TM) SE Runtime Environment (build 1.8.0_172-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.172-b11, mixed mode)
说明配置成功;

然后配置linux,环境下的jmeter环境:

1.下载:apache-jmeter-4.0.tgz,上传到服务器;(同时本地也要保留一份,以后会用到的)

2.然后解压到当前传的目录:jmeter
tar zxvf apache-jmeter-4.0.tgz jmeter

3.然后把解压的文件配置到对应的环境变量:
export JMETER_HOME=/root/jmeter
export CLASSPATH=$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$CLASSPATH
export PATH=$JMETER_HOME/bin:$PATH:$HOME/bin

4.source /etc/profile 目的让配置文件生效

5.[root@yace01 ~]# jmeter -v

4.jmeter-v.png-5.5kB

6.如上图标说明配置成功了;

7.JMeter和JMeterPlugin的下载安装;

JMeterPlugin可以把JMeter生成的jtl文件做出很好的统计图,同时还支持机器的cpu、memory、swap、disk io和network的监控,是个不错的插件。

JMeter插件的下载地址:https://jmeter-plugins.org/downloads/all/
jplus.png-41.2kB

1.jmeter-plugins-manager-1.1.jar
2.JMeterPlugins-Extras-1.4.0.zip
3.JMeterPlugins-Standard-1.4.0.zip
对应的云盘下载链接:
链接: https://pan.baidu.com/s/1ILDgflYrRpaMFklS9ac9FQ 密码: ecix
也可以自行下载,都可以的

上述插件:下载完成之后,例如:
jmeter-plugins-manager.jar,以及其他的插件,下载完成之后,将下载的jmeter-plugins-manager-0.11.jar文件放置到对应的jmeter的\lib\ext目录下面,然后重启JMeter即可。

其他插件都是如此的方式;

编写测试计划

1.在GUI模式下,新建一个测试计划,形成一个jmx文件(文件中有一些监听文件,比如查看结果树,聚合报告等等文件),保存并上传到linux机器对应目录,可在测试计划里添加对应的定时器,聚合报告等。

2.在linux目录下找到你的测试计划,vim打开进行编辑:

<stringProp name="ThreadGroup.num_threads">200</stringProp> 线程数 <stringProp name="ConstantTimer.delay">100</stringProp>固定定时器的时间间隔 

添加过的元器件其对应参数都可以在里面找到,进行参数调整时只要在这里编辑就ok了;

3.执行上述的文件:
找到对应的jmx文件的路径文件,然后开始执行:
jmeter –n –t test.jmx –l test.jtl,即可生成测试报告:

 


test.jtl文件是生成的报告;

4.执行完之后,界面会出现一个 :end of run

如下补充一些,非GUI的一些命令:

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

结果文件

1.把上述的文件通过,xftp文件然后传入到本次,本地开启GUI的jmeter,然后点击:创建测试计划,然后点击创建监听--聚合报告,创建查看结果树等等;然后点击GUI界面的浏览,把jtl文件加载进来,就可以看到测试的报告结果了;(具体和报告,查看结果树等等)
如下图所有:
jmeternnnnn.jpg-350.7kB

2.注意本地的jmeter在创建计划,编写脚本的时候的jmeter的版本最好和linux的版本一致,不然容易报错

 

 

 

 

补充后续操作:

 

 

1:命令行模式将jtl转成测试图表-注意此方法只使用jmeter3.0以后版本

  • 第一种:在测试过程中将jtl转成测试报告(在jmeter的bin目录下执行)

./jmeter -n -t baidu_requests_results.jmx -r -l baidu_requests_results.jtl -e -o /home/tester/apache-jmeter-3.0/resultReport

参数说明:

    -n : 非GUI 模式执行JMeter
    -t : 执行测试文件所在的位置及文件名
    -r : 远程将所有agent启动用在分布式测试场景下,不是分布式测试只是单点就不需要-r
    -l : 指定生成测试结果的保存文件, jtl 文件格式
    -e : 测试结束后,生成测试报告
    -o : 指定测试报告的存放位置
    -o 指定的文件及文件夹,必须不存在 ,否则执行会失败,对应上面的命令就是resultReport文件夹必须不存在否则报错
 
如上命令执行,可以看到控制台开始打印数据了
 
运行完成后,可以在指定的目录下看到生成结果文件夹/home/tester/apache-jmeter-3.0/resultReport
我们可以将该文件夹下载到本地windows机器,然后用浏览器打开index.html文件就能看到报告内容了
首页Dashboard:
 

 

解释:
file:文件名
start time:开始时间
end time:结束时间
filter for display:过滤器
APDEX(Application performance Index):应用程序性能指标,计算每笔交易APDEX的容忍和满足阈值基于可配置的值,范围在 0-1 之间,1表示达到所有用户均满意
T(Toleration threshold):容忍或满意阈值
F(Frustration threshold):失败阈值
requests summary中KO指失败率,OK指成功率
 
首页Dashboard:页面滚动条往下拉:
解释:
statistics:数据分析, 基本将 Summary Report 和 Aggrerate Report 的结果合并,含义分别为:
请求名称、请求数目、失败请求数目、错误率(本次测试中出现错误的请求的数量/请求的总数)、90%用户响应时间、95%用户响应时间、99%用户响应时间、吞吐量(吞吐量——默认情况下表示每秒完成的请求数Request per Second,当使用了 Transaction Controller 时,也可以表示类似 LoadRunner 的 Transaction per Second 数)、Kb/sec(每秒从服务器端接收到的数据量,相当于LoadRunner中的Throughput/Sec)、最小响应时间、最大响应时间
 
errors:错误情况,依据不同的错误类型,将所有错误结果展示
 
Chart-Over Time-Response Times Over Time:随着时间推移响应时间变化趋势图
可以看到历时3分钟,响应时间由0.334ms慢慢下滑到0.225ms
 
Chart-Over Time-Bytes Throughput Over Time:随着时间推移每秒接收和请求字节数变化趋势图,蓝色为每秒发送字节数,黄色为每秒接收字节数:

 

Chart-Over Time-Latencies Over Time:随着时间推移平均响应延时趋势图,记录客户端发送请求完成后,服务器端返回请求之前这段时间

 

 

由于我测试用的并发请求百度,请求都被拒绝了,并没有收到从服务端返回的请求,所以这里看到一条0的线
 
以上就是over time栏的所有图表,除了over time还有throuput和response times栏
throuput栏:

 

Throughput栏包括:
hits per second:每秒点击率
codes per second:每秒状态码数量
Transactions per second:每秒事务量
Response Time Vs Request: 响应时间点请求的 成功/失败 数
Latency Vs Request: 延迟时间点请求的 成功/失败 数
 
Response Times栏:

 

esponse times栏包括:
Response Time Percentiles: 响应时间百分比
Active Threads Over Time: 随着时间推移活跃线程数
Time Vs Threads: 测试过程中的线程数时续图
Response Time Distribution: 响应时间分布
 
  • 第二种:使用之前的测试结果,生成测试报告

./jmeter -g baidu_requests_results.jtl -e -o /home/tester/apache-jmeter-3.0/resultReport

-g : 指定已存在的测试结果文件
-e :测试结果后,生成测试报告
-o : 指定测试报告的存放位置
-o 指定的文件及文件夹,必须 不存在 ,否则执行会失败

 第一种和第二种其实最终都依赖生成的jtl文件,将jtl文件生成测试报告。双击测试报告中的index.html文件即可查看报告内容

 

2:插件模式将jtl转成测试图表

  • 第三种:利用GUI页面图形化展示jtl文件数据

下载插件JMeterPlugins-Extras.jar、CMDRunner.jar、JMeterPlugins-Standard.jar放到本地windows机器的jmeter的lib/ext目录下,插件可以去官网下载,这里我也给出我的插件地址(只需解压缩拷贝其中lib包下的jar文件到lib/ext目录下即可):http://pan.baidu.com/s/1pLexxcZ 密码:f4rb

在windows机器上需要安装jmeter,下载的插件放在jmeter安装目录的lib/ext目录下,然后去bin目录下双击jmeter.bat打开jmeter的gui页面

在线程组下面添加你想要的监听器,然后点击监听器页面的浏览按钮,选择你想浏览的jtl文件,等待一会,就能出现你想要的图形报告

以jp@gc - Bytes Throughput Over Time为例:

第一步:添加该监听器,当我们把下载的jar包放到lib/ext下面然后重启jmeter后,监听器中就会多出很多的扩展监听插件,选择你关注的结果插件即可

第二步:选择你要浏览的jtl文件,监听器添加成功后,在监听器页面都会有一个浏览按钮,点击浏览按钮找到并选择你要看的jtl文件

第三步:点击打开后,等待一会,就能在相应的监听器页面看到你想要看到的结果了

如果你还想要看其他的数据比如聚合报告,吞吐量,响应时间等等一切你关心的数据,按上面的3个步骤走一遍就行

 

  • 第四种:利用CMDRunner.jar插件用命令行的方式将jtl转成想要的png或者csv形式,这个方式比3的好处在于3利用gui页面有时jtl文件数据量很大可能要等很久

首先进入lib\ext目录下,然后去执行响应的命令

 

cd F:\apache-jmeter-3.0\apache-jmeter-3.0\lib\ext

java -jar CMDRunner.jar  --tool Reporter --generate-png baidu_ThreadsStateOverTime.png --input-jtl baidu_requests_results.jtl --plugin-type   TransactionsPerSecond

cmd运行上面的命令,结果在lib\ext目录下可以看到生成了一个baidu_ThreadsStateOverTime.png图片:

双击打开png图片,就能看到想要的图形效果

注意此处的的图片是断续的共15分钟,这跟jtl有关,测试时jtl文件如果不删除或清空,下一次测试的数据会追加到jtl的末尾,所以可以看到上面的图片中我的测试结果分了3次3分钟,其余时间其实是并没有进行测试的情况。

 

命令解析:

命令最后有个命令类型:TransactionsPerSecond,除了这个还支持如下命令类型:

 ThreadsStateOverTime、 BytesThroughputOverTime、 HitsPerSecond、 LatenciesOverTime、 ResponseCodesPerSecond、 ResponseTimesDistribution、

 ResponseTimesOverTime、 ResponseTimesPercentiles、 ThroughputVsThreads、 TimesVsThreads、 PageDataExtractorOverTime、 PerfMon

 

我们可以用一个windows的bat批处理文件,来执行上面的命令,命令执行完以后去相应目录下收取结果png图片就可以了

 

 

最后一行PerfMon:服务器参数随时间变化曲线注意这个需要在jmx脚本中添加,服务器监控,要指定ip、端口、监控项,还需要指定perfMon的输出文件,或者在命令行指定,如./jmeter -n -t baidu.jmx -l 2.jtp -JforcePerfmonFile=true,这样会输出在当前路径。

bat命令为:对文件名称和生成的jtl文件名以及CMDRunner.jar包路径可根据需要修改

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
@echo off
set  file= "interface"
set  jtlfile= "interface_test.jtl"
f:
cd F:\apache-jmeter-3.0\apache-jmeter-3.0\lib\ext
java -jar CMDRunner.jar  --tool Reporter --generate-png %file%_ThreadsStateOverTime.png --input-jtl  %jtlfile%  --plugin-type ThreadsStateOverTime
java -jar CMDRunner.jar  --tool Reporter --generate-png %file%_BytesThroughputOverTime.png --input-jtl  %jtlfile%  --plugin-type BytesThroughputOverTime
java -jar CMDRunner.jar  --tool Reporter --generate-png %file%_HitsPerSecond.png --input-jtl  %jtlfile%  --plugin-type HitsPerSecond
java -jar CMDRunner.jar  --tool Reporter --generate-png %file%_LatenciesOverTime.png --input-jtl  %jtlfile%  --plugin-type LatenciesOverTime
java -jar CMDRunner.jar  --tool Reporter --generate-png %file%_ResponseCodesPerSecond.png --input-jtl  %jtlfile%  --plugin-type ResponseCodesPerSecond
java -jar CMDRunner.jar  --tool Reporter --generate-png %file%_ResponseTimesDistribution.png --input-jtl  %jtlfile%  --plugin-type ResponseTimesDistribution
java -jar CMDRunner.jar  --tool Reporter --generate-png %file%_ResponseTimesOverTime.png --input-jtl  %jtlfile%  --plugin-type ResponseTimesOverTime
java -jar CMDRunner.jar  --tool Reporter --generate-png %file%_ResponseTimesPercentiles.png --input-jtl  %jtlfile%  --plugin-type ResponseTimesPercentiles
java -jar CMDRunner.jar  --tool Reporter --generate-png %file%_ThroughputVsThreads.png --input-jtl  %jtlfile%  --plugin-type ThroughputVsThreads
java -jar CMDRunner.jar  --tool Reporter --generate-png %file%_TimesVsThreads.png --input-jtl  %jtlfile%  --plugin-type TimesVsThreads
java -jar CMDRunner.jar  --tool Reporter --generate-png %file%_TransactionsPerSecond.png --input-jtl  %jtlfile%  --plugin-type TransactionsPerSecond
java -jar CMDRunner.jar  --tool Reporter --generate-png %file%_PageDataExtractorOverTime.png --input-jtl  %jtlfile%  --plugin-type PageDataExtractorOverTime
java -jar CMDRunner.jar  --tool Reporter --generate-png %file%_PerfMon.png --input-jtl  %jtlfile%  --plugin-type PerfMon

  

  双击该bat文件后,我们在lib\ext目录下去看,就可以看到生成了很多png图片

关心哪个图表直接双击打开即可,这样就方便很多了。

当然除了生成png,还可以生成csv文件,如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
@echo off
set  file= "interface"
set  jtlfile= "interface_test.jtl"
f:
cd F:\apache-jmeter-3.0\apache-jmeter-3.0\lib\ext
java -jar CMDRunner.jar  --tool Reporter --generate-csv %file%_PerfMon.csv --input-jtl  %jtlfile%  --plugin-type AggregateReport
java -jar CMDRunner.jar  --tool Reporter --generate-csv %file%_PerfMon.csv --input-jtl  %jtlfile%  --plugin-type SynthesisReport
java -jar CMDRunner.jar  --tool Reporter --generate-csv %file%_ThreadsStateOverTime.csv --input-jtl  %jtlfile%  --plugin-type ThreadsStateOverTime
java -jar CMDRunner.jar  --tool Reporter --generate-csv %file%_BytesThroughputOverTime.csv --input-jtl  %jtlfile%  --plugin-type BytesThroughputOverTime
java -jar CMDRunner.jar  --tool Reporter --generate-csv %file%_HitsPerSecond.csv --input-jtl  %jtlfile%  --plugin-type HitsPerSecond
java -jar CMDRunner.jar  --tool Reporter --generate-csv %file%_LatenciesOverTime.csv --input-jtl  %jtlfile%  --plugin-type LatenciesOverTime
java -jar CMDRunner.jar  --tool Reporter --generate-csv %file%_ResponseCodesPerSecond.csv --input-jtl  %jtlfile%  --plugin-type ResponseCodesPerSecond
java -jar CMDRunner.jar  --tool Reporter --generate-csv %file%_ResponseTimesDistribution.csv --input-jtl  %jtlfile%  --plugin-type ResponseTimesDistribution
java -jar CMDRunner.jar  --tool Reporter --generate-csv %file%_ResponseTimesOverTime.csv --input-jtl  %jtlfile%  --plugin-type ResponseTimesOverTime
java -jar CMDRunner.jar  --tool Reporter --generate-csv %file%_ResponseTimesPercentiles.csv --input-jtl  %jtlfile%  --plugin-type ResponseTimesPercentiles
java -jar CMDRunner.jar  --tool Reporter --generate-csv %file%_ThroughputVsThreads.csv --input-jtl  %jtlfile%  --plugin-type ThroughputVsThreads
java -jar CMDRunner.jar  --tool Reporter --generate-csv %file%_TimesVsThreads.csv --input-jtl  %jtlfile%  --plugin-type TimesVsThreads
java -jar CMDRunner.jar  --tool Reporter --generate-csv %file%_TransactionsPerSecond.csv --input-jtl  %jtlfile%  --plugin-type TransactionsPerSecond
java -jar CMDRunner.jar  --tool Reporter --generate-csv %file%_PageDataExtractorOverTime.csv --input-jtl  %jtlfile%  --plugin-type PageDataExtractorOverTime

  双击该bat文件,然后去对应目录下就能看到生成了很多csv文件,比如AggregateReport.csv就是聚合报告

jmeter之jtl文件解析

我们知道命令行的方式执行完成jmeter后,会生成jtl文件,里面打开后就是一行行的测试结果,

 <httpSample t="1" lt="1" ts="1450684950333" s="true" lb="app.testdelay" rc="200" rm="OK" tn="appdelay-3000g3m 1-1" dt="" by="2265"/>

  • t表示从请求开始到响应结束的时间
  • lt表示整个的空闲时间
  • ts表示访问的时刻
  • s表示返回的结果true表示成功,false表示失败
  • lb表示标题
  • rc表示返回的响应码
  • rm表示响应信息
  • tn表示线程的名字“1-138”表示第1个线程组的第138个线程。
  • dt表示响应的文件类型
  • by表示请求和响应的字节数

  

即便知道每个代表的含义,但是我们肉眼还是难以直观的看到性能如何,所以我们可以将jtl文件进行转换,转成肉眼能够直观看懂的图表、csv等形式,下面讲解jtl文件转换的几种方式:(jmeter系列博文用的例子都是并发测试百度接口,由于百度本身机制不允许短时间并发访问所以看到我的结果都是失败的,这里做下说明,各位真实测试使用自己的jmx脚本的时候一般不会如此)

1:命令行模式将jtl转成测试图表-注意此方法只使用jmeter3.0以后版本

  • 第一种:在测试过程中将jtl转成测试报告(在jmeter的bin目录下执行)

./jmeter -n -t baidu_requests_results.jmx -r -l baidu_requests_results.jtl -e -o /home/tester/apache-jmeter-3.0/resultReport

参数说明:

    -n : 非GUI 模式执行JMeter
    -t : 执行测试文件所在的位置及文件名
    -r : 远程将所有agent启动用在分布式测试场景下,不是分布式测试只是单点就不需要-r
    -l : 指定生成测试结果的保存文件, jtl 文件格式
    -e : 测试结束后,生成测试报告
    -o : 指定测试报告的存放位置
    -o 指定的文件及文件夹,必须不存在 ,否则执行会失败,对应上面的命令就是resultReport文件夹必须不存在否则报错
 
如上命令执行,可以看到控制台开始打印数据了
运行完成后,可以在指定的目录下看到生成结果文件夹/home/tester/apache-jmeter-3.0/resultReport
我们可以将该文件夹下载到本地windows机器,然后用浏览器打开index.html文件就能看到报告内容了
首页Dashboard:
解释:
file:文件名
start time:开始时间
end time:结束时间
filter for display:过滤器
APDEX(Application performance Index):应用程序性能指标,计算每笔交易APDEX的容忍和满足阈值基于可配置的值,范围在 0-1 之间,1表示达到所有用户均满意
T(Toleration threshold):容忍或满意阈值
F(Frustration threshold):失败阈值
requests summary中KO指失败率,OK指成功率
 
首页Dashboard:页面滚动条往下拉:
解释:
statistics:数据分析, 基本将 Summary Report 和 Aggrerate Report 的结果合并,含义分别为:
请求名称、请求数目、失败请求数目、错误率(本次测试中出现错误的请求的数量/请求的总数)、90%用户响应时间、95%用户响应时间、99%用户响应时间、吞吐量(吞吐量——默认情况下表示每秒完成的请求数Request per Second,当使用了 Transaction Controller 时,也可以表示类似 LoadRunner 的 Transaction per Second 数)、Kb/sec(每秒从服务器端接收到的数据量,相当于LoadRunner中的Throughput/Sec)、最小响应时间、最大响应时间
 
errors:错误情况,依据不同的错误类型,将所有错误结果展示
 
Chart-Over Time-Response Times Over Time:随着时间推移响应时间变化趋势图
可以看到历时3分钟,响应时间由0.334ms慢慢下滑到0.225ms
 
Chart-Over Time-Bytes Throughput Over Time:随着时间推移每秒接收和请求字节数变化趋势图,蓝色为每秒发送字节数,黄色为每秒接收字节数:
 
Chart-Over Time-Latencies Over Time:随着时间推移平均响应延时趋势图,记录客户端发送请求完成后,服务器端返回请求之前这段时间
由于我测试用的并发请求百度,请求都被拒绝了,并没有收到从服务端返回的请求,所以这里看到一条0的线
 
以上就是over time栏的所有图表,除了over time还有throuput和response times栏
throuput栏:
Throughput栏包括:
hits per second:每秒点击率
codes per second:每秒状态码数量
Transactions per second:每秒事务量
Response Time Vs Request: 响应时间点请求的 成功/失败 数
Latency Vs Request: 延迟时间点请求的 成功/失败 数
 
Response Times栏:
 
response times栏包括:
Response Time Percentiles: 响应时间百分比
Active Threads Over Time: 随着时间推移活跃线程数
Time Vs Threads: 测试过程中的线程数时续图
Response Time Distribution: 响应时间分布
 
  • 第二种:使用之前的测试结果,生成测试报告

./jmeter -g baidu_requests_results.jtl -e -o /home/tester/apache-jmeter-3.0/resultReport

-g : 指定已存在的测试结果文件
-e :测试结果后,生成测试报告
-o : 指定测试报告的存放位置
-o 指定的文件及文件夹,必须 不存在 ,否则执行会失败

 第一种和第二种其实最终都依赖生成的jtl文件,将jtl文件生成测试报告。双击测试报告中的index.html文件即可查看报告内容

 

2:插件模式将jtl转成测试图表

  • 第三种:利用GUI页面图形化展示jtl文件数据

下载插件JMeterPlugins-Extras.jar、CMDRunner.jar、JMeterPlugins-Standard.jar放到本地windows机器的jmeter的lib/ext目录下,插件可以去官网下载,这里我也给出我的插件地址(只需解压缩拷贝其中lib包下的jar文件到lib/ext目录下即可):http://pan.baidu.com/s/1pLexxcZ 密码:f4rb

在windows机器上需要安装jmeter,下载的插件放在jmeter安装目录的lib/ext目录下,然后去bin目录下双击jmeter.bat打开jmeter的gui页面

在线程组下面添加你想要的监听器,然后点击监听器页面的浏览按钮,选择你想浏览的jtl文件,等待一会,就能出现你想要的图形报告

以jp@gc - Bytes Throughput Over Time为例:

第一步:添加该监听器,当我们把下载的jar包放到lib/ext下面然后重启jmeter后,监听器中就会多出很多的扩展监听插件,选择你关注的结果插件即可

 

第二步:选择你要浏览的jtl文件,监听器添加成功后,在监听器页面都会有一个浏览按钮,点击浏览按钮找到并选择你要看的jtl文件

 

第三步:点击打开后,等待一会,就能在相应的监听器页面看到你想要看到的结果了

如果你还想要看其他的数据比如聚合报告,吞吐量,响应时间等等一切你关心的数据,按上面的3个步骤走一遍就行

 

  • 第四种:利用CMDRunner.jar插件用命令行的方式将jtl转成想要的png或者csv形式,这个方式比3的好处在于3利用gui页面有时jtl文件数据量很大可能要等很久

首先进入lib\ext目录下,然后去执行响应的命令

cd F:\apache-jmeter-3.0\apache-jmeter-3.0\lib\ext

java -jar CMDRunner.jar  --tool Reporter --generate-png baidu_ThreadsStateOverTime.png --input-jtl baidu_requests_results.jtl --plugin-type   TransactionsPerSecond

cmd运行上面的命令,结果在lib\ext目录下可以看到生成了一个baidu_ThreadsStateOverTime.png图片:

 

双击打开png图片,就能看到想要的图形效果

 

注意此处的的图片是断续的共15分钟,这跟jtl有关,测试时jtl文件如果不删除或清空,下一次测试的数据会追加到jtl的末尾,所以可以看到上面的图片中我的测试结果分了3次3分钟,其余时间其实是并没有进行测试的情况。

 

命令解析:

命令最后有个命令类型:TransactionsPerSecond,除了这个还支持如下命令类型:

 ThreadsStateOverTime、 BytesThroughputOverTime、 HitsPerSecond、 LatenciesOverTime、 ResponseCodesPerSecond、 ResponseTimesDistribution、

 ResponseTimesOverTime、 ResponseTimesPercentiles、 ThroughputVsThreads、 TimesVsThreads、 PageDataExtractorOverTime、 PerfMon

 

我们可以用一个windows的bat批处理文件,来执行上面的命令,命令执行完以后去相应目录下收取结果png图片就可以了

最后一行PerfMon:服务器参数随时间变化曲线注意这个需要在jmx脚本中添加,服务器监控,要指定ip、端口、监控项,还需要指定perfMon的输出文件,或者在命令行指定,如./jmeter -n -t baidu.jmx -l 2.jtp -JforcePerfmonFile=true,这样会输出在当前路径。

bat命令为:对文件名称和生成的jtl文件名以及CMDRunner.jar包路径可根据需要修改

按 Ctrl+C 复制代码
按 Ctrl+C 复制代码

 

 双击该bat文件后,我们在lib\ext目录下去看,就可以看到生成了很多png图片

关心哪个图表直接双击打开即可,这样就方便很多了。

当然除了生成png,还可以生成csv文件,如:

按 Ctrl+C 复制代码
按 Ctrl+C 复制代码

双击该bat文件,然后去对应目录下就能看到生成了很多csv文件,比如AggregateReport.csv就是聚合报告

好了,以上就是jmeter的jtl文件查看方式了

复制到这里方便自己查看

源文档:http://www.cnblogs.com/miaomiaokaixin/p/6118081.html

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM