聚合报告
字段 含义
#样本 实际发起的总请求数
平均值 所有请求的响应时间之和/总请求数
中位数 假设总请求数为99,将这99次请求按耗时从高到低排列,第50次请求的耗时即为中位数\n 假设总请求数为100,将这100次请求按耗时从高到低排列,第50次和第51次请求的耗时的平均值即为中位数\n 按下面三项表头的表达方式,可以将中位数称为【50%百分位】
90%百分位 计算方式和中位数一样,只不过这项取的是排名第90%的那次请求\n 也可以理解为有90%的请求响应时间小于等于这个值
95%百分位 计算方式和中位数一样,只不过这项取的是排名第95%的那次请求\n 也可以理解为有95%的请求响应时间小于等于这个值
99%百分位 计算方式和中位数一样,只不过这项取的是排名第99%的那次请求\n 也可以理解为有99%的请求响应时间小于等于这个值
最小值 所有请求中响应时间最短的那个时间
最大值 所有请求中响应时间最长的那个时间
异常% 对jmeter来说,异常意味着http返回码不为200,只要接口能调通,哪怕因为某些原因你的程序返回了报错,jmeter还是会认为调用是成功的
吞吐量 我们压测的核心数据,可以粗略理解为请求流通的数据量。我们压测的目的是找到吞吐量最高的并发值
压测的目标
是找到并发线程数增加但是吞吐量没有增加的并发数,
如果吞吐量没有增加就说明服务压力已经上不去了,总有什么东西到瓶颈了,这个吞吐量最大时的并发数就是你的服务当前的最大并发数,超过这个数接着加并发,吞吐量甚至有可能下降。
命令
java -jar ApacheJMeter.jar -n -t test.jmx -l test.jtl
jmeter -n -t name.jmx -l result.jtl -e -o result
jmeter -n -t test.jmx(脚本的绝对路径) -l result.jtl(自定义的名称) -e -o \tmp\result_report(测试报告的绝对路径)
bin/jmeter -n -t demos/feature-get-v2.jmx -l logs/feature-get-v2.csv -e -o reports/feature-get-v2
-n : 非GUI 模式执行JMeter
-t : 执行测试文件所在的位置及文件名,对应上面的name.jmx
-r : 远程将所有agent启动用在分布式测试场景下,不是分布式测试只是单点就不需要-r
-l : 指定生成测试结果的保存文件, jtl 文件格式,对应上面的result.jtl
-e : 测试结束后,生成测试报告,不需要生成测试报告,就不用-e后面的命令了。
-o : 指定测试报告的输出目录,必须不存在 ,否则执行会失败,对应上面的命令就是result
运行结束之后会生成jtl文件,和result报告目录。
但是正常都只是在服务器上压测生成jtl文件,把jtl文件下载到本地之后再生成报告。这种情况就要分两步完成整个过程:
全部命令
-n 命令行模式
-t 指定jmx脚本地址(地址可以是相对路径,可以是绝对路径)
-h 查看帮助
-v 查看版本
-p 指定读取jmeter属性文件,比如jmeter.properties文件中设置的
-l 记录测试结果的文件,通常结果文件为jtl格式(文件可以是相对路径,可以是绝对路径)
-s 以服务器方式运行(也是远程方式,启动Agent)
-H 设置代理,一般填写代理IP
-P 设置代理端口
-u 代理账号
-a 代理口令
-J 定义jmeter属性,等同于在jmeter.properties中进行设置
-G 定义jmeter全局属性,等同于在Global.properties中进行设置,线程间可以共享)
-D 定义系统属性,等同于在system.properties中进行设置
-S 加载系统属性文件,可以通过此参数指定加载一个系统属性文件,此文件可以用户自己定义
-L 定义jmeter日志级别,如debug、info、error等
-j 制定执行日志路径。(参数为日志路径,不存在不会自动创建,将日志输出到命行控制台)
-r 开启远程负载机,远程机器列表在jmeter.properties中指定
-R 开启远程负载机,可以指定负载机IP,会覆盖jmeter.properties中remote_hosts的设置
-d 指定Jmeter Home目录
-X 停止远程执行
-g 指定测试结果文件路径,仅用于生成测试报表,参数是csv结果文件
-e 设置测试完成后生成测试报表
-o 指定测试报告生成文件夹(文件夹必须存在且为空文件夹)
使用日志文件生成报告基本命令格式:
bin/jmeter -g <log file> -o <Path to output folder>
bin/jmeter -g D:\apache-jmeter-3.0\bin\testLogFile -o ./output
|