linux环境运行jmeter+测试报告查看
一、博客概述
本篇博客介绍Linux环境下运行Jmeter脚本以及查看jtl报告相关流程。
- Linux环境配置java环境
- Linux环境配置Jmeter环境
- Linux环境执行Jmeter脚本
- windows环境查看Jmeter运行报告
二、Linux环境配置java环境变量
- 官网下载java的tar.gz包--JDK官网
2. Linu环境配置java环境变量
# 1. 编辑环境配置文件,并在文件末尾添加Java配置内容
vi /etc/profile
# 2. JAVA_HOME 路径为jdk解压的路径,例如下面我的jdk路径解压到了/usr/java目录下
#-------配置java环境变量-----------------
export JAVA_HOME=/usr/java/java1.8
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
# 3. java环境变量配置完成后,保存并退出文件。
# 4. 更新文件内容
source /etc/profile
3.验证Java环境变量执行 java -version
三、Linux环境配置Jmeter环境
- 官网下载Jmeter的tgz包--Jmeter官网
2. Linux环境配置Jmeter环境变量
# 1.编辑环境配置文件,并在文件末尾添加Jmeter环境变量内容。
vi /etc/profile
# 2.配置Jmeter环境变量内容如下,其中JMETER_HOME路径为Jmeter解压路径。例如我的Jmeter解压到/usr/jmeter目录下。
#-------配置jmeter环境变量----------------
export JMETER_HOME=/usr/jmeter/linux-jmeter-5.2.1
export CLASSPATH=$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$CLASSPATH
export PATH=$JMETER_HOME/bin:$PATH:$HOME/bin
# 3.Jmeter环境变量配置完成后,保存并退出文件。
# 4.执行命令更新文件内容
source /etc/profile
3. 验证Jmeter环境变量执行 jmeter -v
四、Linux执行Jmeter脚本
1. Jmeter执行测试计划命令与参数
- -n ,命令方式运行脚本
- -t, Jmeter运行的测试计划(脚本名称)
- -l, 指定生成测试结果文件
- -e,测试结束后生成测试报告
- -o,指定测试报告存放路径。(指定报告存放路径的文件夹必须不存在,否则会报错)
在执行压测命令前,shell窗口先cd到当前脚本所在的路径,然后执行下面的命令,那么默认加载的就是当前路径下的测试计划脚本。测试结果路径就是当前脚本路径。
# 1. 在linux环境中已经配置了Jmeter环境变量,因此Jmeter运行测试计划命令可以在任意路径下执行。
# 2. Jmeter运行测试计划命令(只生成测试结果文件)
jmeter -n -t tea.jmx -l ./tea.jtl
# 3. Jmeter运行测试计划命令(测试结果文件并指定生成测试报告)
jmeter -n -t tea.jmx -l ./tea.jtl -e -o /usr/jmeter/resultReport
2. Jmeter 执行测试计划结果
五、windows环境查看Jmeter测试结果和测试报告
注意:在查看测试报告时需要注意jtl聚合报告的结果,显示TPS是不准确的。因此我们要以命令运行jmeter输出的结果或者html报告结果为准。下面会通过示例详细介绍这两种方式查看结果。
5.1.打开报告的方法
测试结果文件查看
- linux环境Jmeter生成的测试结果文件(tea.jtl)下载到本地windows环境。
- 在windows环境打开jmeter,添加Summary Report 组件。
- 在Summary Report 组件中选择测试结果文件,查看测试结果。
测试报告文件查看
- linux环境Jmeter生成的测试报告文件夹(resultReport)下载到本地windows环境。
- 打开resultReport文件夹,用浏览器查看测试报告内容。
5.2.正确查看测试结果方法
1.查看命令运行界面输出的测试结果
2.通过界面化打开jtl聚合报告查看结果
查看jtl聚合报告展示的TPS和上面运行结果相差非常大,所以这个数据是不准确的。
3.查看html报告
上面贴出了执行同一个测试计划后,查看结果三种形式。他们的测试结果中TPS值都不一致。其中命令输出结果和html报告结果接近,而他们都与jtl聚合报告结果差距很大。那么哪个数据才是准确的那?
下面通过一个公式来计算下TPS值,符合计算结果的值就是准确的值。
TPS = (1000ms/平均响应时间ms) * 线程数
- 命令输出结果计算:(1000/42) * 10 = 238
- 聚合报告计算:(1000/44) * 10 = 227
- html报告计算:(1000/42.55) * 10 = 235
通过三个计算结果和实际显示结果对比,可以看出聚合报告的结果与计算结果差距很大,他的结果是不准确的。命令输出结果和html报告结果差距较小,使用哪个结果都可以。
三种形式输出结果的关系如下
- 命令运行结果输出的结果会写入到jtl聚合报告文件中
- html报告的数据来源于jtl聚合报告文件数据
- 聚合报告显示的tps不准确是因为它UI界面取值的方式不同导致,并不是jtl文件中数据不准确,可以不采用界面显示的结果。
六、总结
Linux环境将Jmeter运行起来,从环境配置到执行Jmeter测试计划命令,再到测试完成后测试结果与测试报告如何查看一套流程到这里就介绍完整了。这篇博客是对Jmeter初次使用的一个入门介绍,通过这篇博客可以很快的将Jmeter运行起来,为后面Jmeter工具的深入做了铺垫。