1.使用命令行方式执行测试
1.1执行测试的命令:
./jmeter -n -t ceshi.jmx -l result.jtl (linux)
jmeter.bat -n -t ceshi.jmx -l result.jtl (windows)
-n:在非GUI模式下运行JMeter
-t :要运行的JMeter测试脚本文件(后面跟需要执行的脚本文件 扩展名为.jmx)
-l :记录结果的文件(后面跟需要自动创建的结果文件 扩展名为.jtl)
-r :远程执行 -> 启动远程服务
-H:代理主机 -> 设置JMeter使用的代理主机
-P:代理端口 -> 设置JMeter使用的代理主机的端口号
注:以上标蓝的是执行测试的基本参数。
1.2 执行结果:
执行完毕后会生成.jtl结果文件,可以使用Jmeter打开进行查看。
将jtl文件导入到Jmeter聚合报告中:
将jtl文件导入到Jmeter查看结果树中:
2.Jmeter分布式测试
2.1运行测试前的准备:
步骤1:作为controller和agent的主机都需要安装jmeter
步骤2:编辑controller的jmeter.properties文件,将作为agent的机器ip写入remote_hosts ,端口1099
步骤3:编辑controller的jmeter.properties文件,将文件中mode=Standard 的注释打开。
步骤4:使用linux主机,执行agent机器上的jmeter-server(windows下执行jmeter-server.bat)
步骤5:启动controller机器上的jmeter(gui模式),加载测试脚本,点击运行>启动远程(指定单个agent运行脚本)或者点击远程全部启动(全部agent运行脚本),或使用命令行方式启动agent进行测试。
2.2启动测试
linux下输入如下命令行(windows下jmeter.bat):
./jmeter -n -t ceshi.jmx -r -l ceshi .jtl (-r 参数指定jmeter.properties中remote_hosts行的所有agent主机)
./jmeter -n -t ceshi.jmx -R 172.16.119.37 -l ceshi.jtl(-R 参数指定jmeter.properties中remote_hosts行的指定IP的agent主机)
2.3 运行参数
-r 所有机器运行脚本
-R (ip地址)指定单个机器运行脚本
-n 该参数表示Jmeter运行在非图形化模式下
-t 运行要测试的JMX文件
-r 运行所有在JMeter.properties 中定义的远程服务
-l 保存样本结果的JTL文件
3 linux下修改jmx文件配置
"LoopController.loops":循环次数 "-1"表示:勾选永远
"ThreadGroup.num_threads":线程数
"ThreadGroup.ramp_time":Ramp-UpPeriod(in seconds)(启动总时间)
"ThreadGroup.scheduler":true:勾选调度器 flase:不勾选调度器
"ThreadGroup.duration":持续时间(秒)
"ThreadGroup.start_time":启动时间
"ThreadGroup.end_time" :结束时间
"ThreadGroup.delay" :启动延迟(秒)