压测时有时受单机性能限制,线程上不去,可以使用非 GUI 模式,即命令行模式运行 JMeter 测试脚本能减少系统资源占用
执行压测如 jmeter.bat -n -t D:\AAA.jmx -l D:\Report.jtl
-h 帮助 -> 打印出有用的信息并退出
-n 非 GUI 模式 -> 在非 GUI 模式下运行 JMeter
-t 测试文件 -> 要运行的 JMeter 测试脚本文件
-l 日志文件 -> 记录结果的文件
-r 远程执行 -> 在Jmter.properties文件中指定的所有远程服务器
-H 代理主机 -> 设置 JMeter 使用的代理主机
-P 代理端口 -> 设置 JMeter 使用的代理主机的端口号
生成WEB报告:
jmeter -g D:\jmeter\Report.jtl -o D:\ReportWeb
基本命令格式:
jmeter -n -t <test JMX file> -l <test log file> -e -o <Path to output folder>
样例:
jmeter -g D:\jmeter\Report.jtl -o D:\ReportWeb
参数:
-n :以非GUI形式运行Jmeter
-t :source.jmx 脚本路径
-l :运行结果保存路径(.jtl或.csv) ---这里后缀可以是jtl或csv,但文件内容格式必须要是csv格式
-e :在脚本运行结束后生成html报告
-o :保存html报告的路径, 此文件夹必须为空或者不存在
html报告 其默认提供的度量维度包括:
APDEX(Application Performance Index)指数
聚合报告:类似于UI上的 「Aggregate Report」
Errors报告:展示不同错误类型的数量以及百分比
响应时间变化曲线: 展示平均响应时间随时间变化情况,类似于JMeter Plugins在UI上的*jp@gc - Response Times Over Time*
数据吞吐量时间曲线:展示每秒数据吞吐量随时间变化的情况,类似于JMeter Plugins在UI上的*jp@gc - Bytes Throughput Over Time*
Latency time变化曲线:展示Latency time随时间变化的情况,类似于JMeter Plugins在UI上的*jp@gc - Response Latencies Over Time*
每秒点击数曲线:类似于JMeter Plugins在UI上的*jp@gc - Hits per Second*
HTTP状态码时间分布曲线:展示响应状态码随时间的分布情况,类似于JMeter Plugins在UI上的*jp@gc - Response Codes per Second*
事务吞吐量时间曲线(TPS):展示每秒处理的事务数随时间变化情况,类似于JMeter Plugins在UI上的*jp@gc - Transactions per Second*
平均响应时间与每秒请求数的关系图:展示平均响应时间与每秒请求数(可以理解为QPS)的关系
Latency time与每秒请求数的关系图:展示Latency time与每秒请求数的关系
响应时间百分位图:响应时间的百分位分布图
活动线程数变化曲线:展示测试过程中活动线程数随时间变化情况
平均响应时间与线程数的关系图:展示平均响应时间与线程数的关系,类似于JMeter Plugins在UI上的*jp@gc - Response Times vs Threads*
柱状响应时间分布图:展示落在各个平均响应时间区间的请求数情况