一、JMete执行方式
JMeter执行方式有2种,一种是GUI模式,一种是非GUI模式。GUI模式就是界面模式,非GUI模式就是命令行模式。界面模式主要用来编写和调试脚本用的,项目的真正执行最好是采用命令行模式,因为采用命令行模式可以和持续集成或者其它框架进行对接,做成自动化回归测试平台。
二、JMete非GUI运行优点
JMeter可视化界面及监听器动态展示结果都比较消耗负载机资源,在大并发情况下GUI方式往往会导致负载机资源紧张,会对性能测试结果造成影响。我们就只有多加机器来运行测试计划(分布式测试),这样一台负载机变为两台。所以推荐用非GUI的方式来运行测试计划。虽然非GUI方式不显示界面,但也会以字符形式周期性显示执行结果,对负载机的资源消耗会小一些,所有同等条件下非GUI方式的jmeter机器能够产生的负载会比GUI方式的jmeter产生的负载大一些。
三、jmeter非GU运行参数
-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 指定测试报告生成文件夹(文件夹必须存在且为空文件夹)
四、jmeter非GUI运行命令
非GUI基本命令格式:
jmeter -n -t <test JMX file> -l <test log file>
基本命令样例:
jmeter -n -t E: estplan.jmx -l E: ead.jtl
非GUI并生成html报告基本命令格式
jmeter -n -t <test JMX file> -l <test log file> -e -o <Path to output folder>
非GUI并生成html报告基本命令样例:
jmeter -n -t E: estplan.jmx -l E: ead.jtl -e -o E:ResultReport
jmeter -g <log file> -o <Path to output folder>
使用日志文件生成报告基本命令样例
jmeter -g D:apache-jmeter-3.0in estLogFile -o ./output
五、自定义配置
JMeter中的reportgenerator.properties文件保存了所有关于图形化HTML报告生成模块的默认配置,要变更配置,建议不要直接编辑该文件,而是推荐在bin目录下的user.properties中去配置和覆盖。将jmeter.reportgenerator.overall_granularity=60000中的60000修改为1000(采样器频度由1分钟改为1秒)
report_title:定义报告的标题,我们可能需要将标题定义为实际测试项名称
apdex_satisfied_threshold:定义Apdex评估中满意的阈值(单位ms)
apdex_tolerated_threshold: 定义Apdex评估中可容忍的阈值