JMeter使用记录整理(十)非GUI模式

目录

命令参数

执行示例

生成测试报告

利用已有.jtl文件生成报告

无.jtl文件生成测试报告

报告内容解析

Dashboard

Charts

所遇问题


JMeter可以运行模式有两种,一种是GUI图形,另一种是命令模式运行也就是非GUI模式。

GUI:由于是图形界面,所以在运行时会消耗很多资源,而且图形界面运行时结果是保存在Jmeter运行的内存中,如果是做长时的性能测试,内存就会占用的很高,首先就是影响性能结果的准确性,其次当内存增长到一定程度,就会报错,甚至可能出现卡死/宕机。

非GUI优势:通过命令运行,无图形化界面,消耗压力机资源较低,可以支持较大的并发。便捷快速,仅需启动命令行,输入命令便可执行。易于持续集成,可通过shell脚本命令执行,实际压测建议使用命令行模式。

命令参数

-h 帮助

-n 命令行模式

-t 指定要运行的JMX脚本路径

-l 指定结果文件路径,运行前要确保xxx.jtl不存在,不然报错

-r 分布式(远程)执行,服务器列表由JMETER_HOME\bin\Jmter.properties文件中remote_hosts指定

-R 指定分布式(远程)服务器列表,参数为服务器列表,配置形式同remote_hosts

-j 指定执行日志路径

-g CSV结果文件,指定测试执行结果文件路径,仅用于生成测试报表

-e 设置测试完成后生成测试报表

-o 报表文件夹路径,执行测试报表生成文件夹,文件夹必须为空或者不存在

-H 指定代理服务器域名或代理服务器IP,一般填写代理IP

-P 指定代理服务器端口号

执行示例

执行测试脚本

jmeter -n -t test.jmx

指定结果文件及日志路径

jmeter -n -t test.jmx -l report\01-result.csv -j report\01-log.log

远程调用remote_hosts中配置的所有服务器

jmeter -n  -t  test.jmx  -r  -l report\01-result.csv -j report\01-log.log

远程调用指定服务器

jmeter -n -t  test.jmx  -R 192.168.xx.xx:1029 -l report\01-result.csv -j report\01-log.log

在脚本运行过程中,由于无界面,命令窗口会每隔一段时间打印一下当前的运行状态,在窗口中会看到类似下面的信息

JMeter使用记录整理(十)非GUI模式_第1张图片

summary+ 是开始这个时点的报告。

summary= 是总结它之前的报告,呈现出的是当前时点之前总的情况,通常是均值。

最后一个summary=是本次压测总的情况,如果脚本按时正常结束的话,最后一次summary里面的值应该和从GUI打开聚合报告或概括报告的值是一致的。

生成测试报告

从3.0版本开始,Jmeter引入了Dashboard Report模块,用于生成HTML类型的可视化图形报告。

利用已有.jtl文件生成报告

如果已经有经过测试生成的.jtl文件,可以利用该文件直接生成HTML可视化测试报告。

进入jmeter的bin目录下,输入如下命令:

jmeter -g xxx.jtl -o /report

# -g:后跟xxx.jtl文件所在的路径

# -o:后跟生成的HTML文件存放的路径

无.jtl文件生成测试报告

如果还未生成.jtl文件,则可以通过如下命令,一次性完成测试执行和生成HTML可视化报告的操作,进入jmeter的bin目录下,输入如下命令:

jmeter -n -t xxx.jmx -l xxx.jtl -e -o /report

# -n:以非GUI形式运行Jmeter

# -t:source.jmx 脚本路径

# -l:result.jtl 运行结果保存路径(.jtl),此文件必须不存在

# -e:在脚本运行结束后生成html报告

# -o:用于存放html报告的目录

执行截图:

JMeter使用记录整理(十)非GUI模式_第2张图片

PS:(linux系统和windows系统命令一样)需要注意的是,生成的.jtl文件路径下,不能存在同名的.jtl文件,否则会执行失败。

查看测试报告:

JMeter使用记录整理(十)非GUI模式_第3张图片

报告内容解析

Dashboard

Test and Report information

JMeter使用记录整理(十)非GUI模式_第4张图片

file:文件名

start time:开始时间

end time:结束时间

filter for display:过滤器

APDEX (Application Performance Index)

JMeter使用记录整理(十)非GUI模式_第5张图片

APDEX:性能指数,是用户对应用性能满意度的量化值。它提供了一个统一的测量和报告用户体验的方法,把最终用户的体验和应用性能作为一个完整的指标进行统一度量。下图表示为通用用户满意度区域,0代表没有满意用户,1则代表所有用户都满意。实际业务系统开发过程中,1是团队的追求目标。

JMeter使用记录整理(十)非GUI模式_第6张图片

T(Toleration threshold):容忍或满意阈值

F(Frustration threshold):失败阈值

Requests Summary

请求的通过率(OK)与失败率(KO),百分比显示

JMeter使用记录整理(十)非GUI模式_第7张图片

Statistics

数据分析,基本将 Summary Report 和 Aggrerate Report 的结果合并

Errors

错误情况,依据不同的错误类型,将所有错误结果展示

Top 5 Errors by sampler

样本前五个错误

Charts

Over Time

Response Times Over Time:随着时间推移响应时间变化趋势图。

JMeter使用记录整理(十)非GUI模式_第8张图片

Bytes Throughput Over Time:随着时间推移每秒接收和请求字节数变化趋势图,蓝色为每秒发送字节数,黄色为每秒接收字节数。

JMeter使用记录整理(十)非GUI模式_第9张图片

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

JMeter使用记录整理(十)非GUI模式_第10张图片

Throughput

吞吐量

JMeter使用记录整理(十)非GUI模式_第11张图片

hits per second:每秒点击率

codes per second:每秒状态码数量

Transactions per second:每秒事务量

Response Time Vs Request: 响应时间点请求的成功/失败数

Latency Vs Request: 延迟时间点请求的成功/失败数

Response Times

响应时间

JMeter使用记录整理(十)非GUI模式_第12张图片

Response Time Percentiles: 响应时间百分比

Active Threads Over Time: 随着时间推移活跃线程数

Time Vs Threads: 测试过程中的线程数时续图

Response Time Distribution: 响应时间分布

所遇问题

执行命令时:WARNING: Could not open/create prefs root node Software\JavaSoft\Prefs at root 0x80000002. Windows RegCreateKeyEx(...) returned error code 5.

原因:

不是管理员权限在运行,需要管理员权限运行

解决方法:

win+R输入regedit回车,打开注册表编辑器。

找到HKEY_LOCAL_MACHINE \ SOFTWARE \ JavaSoft。

右键单击权限,找到使用的非管理员账户,然后更改权限为完全控制。

你可能感兴趣的:(JMeter,测试工具)