一、Jmeter命令行模式:单机
准备工作:
- 压力机安装并配置好JDK
- 在windows下调试好jmeter脚本,并上传至Linux下
- 进到Jmeter 根目录下需要添加执行权限 chmod -R +x ./*
单机器测试步骤:
jmeter -n -t test.jmx -l result.jtl
- -n: 命令行模式,no-gui
- -t:jmx脚本路径
- -l:jtl结果文件存放路径
概要日志数据解释:
二、Jmeter命令行模式:分布式
- 压力机:施压的机器,可以是Windows系统、Linux系统
分布式测试步骤:
系统HOSTS文件中进行类似本机IP主机名的配置,如127.0.0.1 sucentos,否则启动jmeter-server会报错!
- 在每台机器上都部署 jmeter
- 如果是java脚本,将java脚本和相关lib包都放在jmeter目录lib/ext下
- 将jmeter的场景文件jmx上传到主jmeter的任意位置,参数文件放到每一台压力机上(存放目录要相同)
- 每台机器修改jmeter.properties文件,ssl.disable=true(去掉注释)
- 在每台机器上进入到jmeter的bin目录下,都启动nohup ./jmeter-server &(后台启动jmeter-server服务)
- 在主压力机jmeter的bin目录下,修改jmeter.properties中的remote_hosts,添加压力机,以逗号分隔,remote_hosts=127.0.0.1,192.168.0.102
- 在主压力机,jmx文件所在目录下执行jmeter -n -t test.jmx -l result.jtl -r(目录和路径自定义)
注意:
- 如果是http脚本,在controller的机器上有脚本文件即可
- 如果是Java脚本,在每一台机器上都得有脚本文件和依赖的jar包
三、Jmeter命令行模式:结果报表
三种方式来获取Jmeter的结果报表:
- 在GUI模式下跑Jmeter的脚本,用tps插件实时展示图表
- 在命令行模式下跑Jmeter的脚本,生成的jtl文件,在GUI界面的聚合报告里打开,可以展示tps
和响应时间等数据 - 在命令行模式下跑Jmeter的脚本,生成的jtl文件,通过Jmeter自带命令,生成html报表
注意:
在实际工作中,不推荐第一种执行方式,会影响Jmeter的性能
四、Jmeter命令行模式:html报表
Html报表生成步骤:
- 进入jmeter的bin目录下,修改reportgenerator.properties
- 修改jmeter.reportgenerator.overall_granularity=1000(报表中数据展示间隔1秒)
- 创建一个存放数据报表的文件夹
- 执行命令:jmeter -g result.jtl -o ./output
注释:
- -g 指定jtl文件的路径
- -o 指定html报表生成到哪个文件夹下
注意:
- 只有Jmeter3.0版本以上支持此功能