jmeter非GUI模式优势及实例说明

JMeter能够运行模式有两种,一种是GUI图形,另外一种是命令模式运行也就是非GUI模式。两种模式的区别仍是挺大的。linux

GUI:因为是图形界面,因此在运行时会消耗不少资源,并且图形界面运行时结果是保存在Jmeter运行的内存中,若是是作长时的性能测试,内存就会占用的很高,首先就是影响性能结果的准确性,其次当内存增加到必定程度,就会报错,甚至可能出现卡死/宕机。shell


非GUI优点:命令模式运行能够将实时的log文件保存到本地,位置能够自定义,不会占用太多机器的资源,能够长时间运行。windows

1.节约系统资源:无需启动界面,节约系统资源服务器

2.便捷快速:仅需启动命令行,输入命令即可执行,是为命令达人最爱并发

3.易于持续集成:可经过shell脚本命令执行分布式

 

非GUI运行命令部分:性能

    • -h 帮助 -> 打印出有用的信息并退出测试

    • -n 非 GUI 模式 -> 在非 GUI 模式下运行 JMeterspa

    • -t 测试文件 -> 要运行的 JMeter 测试脚本文件命令行

    • -l 结果文件路径 -> 记录结果的文件,路径不存在时会自动建立格式为jtl或csv

    • -r 远程执行 -> 在Jmter.properties文件中指定的全部远程服务器

    • -R 远程执行 -> 执行指定的服务器

    • -j 指定执行日志路径 -> 路径不存在时不会自动建立

    • -e 设置测试完成后生成测试报表

    • -g CSV结果文件 --> 指定测试执行结果文件路径,仅用于生成测试报表

    • -o 报表文件夹路径  --> 执行测试报表生成文件夹,文件夹必须为空或者不存在

    • -H 代理主机IP -> 设置 JMeter 使用的代理主机

    • -P 代理端口号 -> 设置 JMeter 使用的代理主机的端口号

非GUI运行示例:

jmeter -h

含义为:获取jmeter的命令帮助

jmeter -n -t test.jmx 

含义为:以命令模式运行test.jmx文件

jmeter -n -t test.jmx -l report\01-result.csv -j report\01-log.log

含义为:以命令模式运行test测试文件并保存结果及日志文件,须要注意的是若是日志路径不存在将不会自动建立,且日志会输出在命令行窗口,生成的结果文件能够在JMeter的图形界面下的聚合报告中导入结果文件进行查看。

jmeter -n  -t  test.jmx  -r  -l report\01-result.csv -j report\01-log.log

含义为:以命令模式远程调用remote_hosts中配置的全部服务器运行test测试文件并保存结果及日志文件,须要注意的是执行端的日志文件默认生成在用户目录下

jmeter -n -t  test.jmx  -R 192.168.21.40:1029 -l report\01-result.csv -j report\01-log.log

含义为:以命令模式远程调用192.168.21.40服务器运行test测试文件并保存结果及日志文件

 

 

为方便管理起见,在Jmeter安装目录下的bin目录下建立一个文件夹testscript用来存放脚本(.jmx文件),再建立一个文件夹testresult用来存放脚本执行后的结果文件。
结果文件是能够在Jmeter可视化界面打开的,它保存了脚本执行过程当中的各类结果很是全面,结果树、聚合报告、表格查看结果等均可以将它打开看到响应的数据。

 

执行方法:

 

Windows

 

一、cmd打开命令行模式

 

二、切换到Jmeter安装目录下的bin目录下

 

三、执行命令:jmeter -n -t testscript\Baidu.jmx -l testresult\01-reslut.jtl(执行结果文件也能够保存为.cvs后缀)

 

在脚本运行过程当中,因为无界面,命令窗口会每隔一段时间打印一下当前的运行状态,你会在窗口中看到相似下面的信息:

 

 

summary+ 是开始这个时点的报告。

 

summary= 是总结它以前的报告,呈现出的是当前时点以前总的状况,一般是均值。

 

最后一个summary=是本次压测总的状况,若是脚本按时正常结束的话,最后一次summary里面的值应该和你从GUI打开聚合报告或归纳报告的值一致。

 

 

Linux

 

一、使用linux命令进入Jmeter安装目录下的bin目录

 

二、执行命令:jmeter -n -t testscript\Baidu.jmx -l testresult\01-reslut.jtl(执行结果文件也能够保存为.cvs后缀)

 

三、把结果文件下载到windows机器上,使用Jmeter打开结果文件

 

 

 

无界面分布式压测

 

当并发量过大单机没法承担须要作分布式压测,分布式的配置同之前文章介绍的同样,再次不作赘述。

 

执行方法:

 

  一、把脚本和参数文件存放到各台终端相同目录下

 

  二、将每台终端的jmerter-server.bat打开等待主机发号施令

 

  三、在主机命令窗口键入相似如下命令:

 

     jmeter.bat -n -t testscript/Baidu.jmx -R 192.168.182.129:1100,192.168.182.130:1200 -l testresult/01-result.jtl

 

命令中-R表明远程 remote ,后面跟随的是每台终端机jmeter-server窗口显示的 ip 和端口,一样,多台终端之间由逗号隔开,其余都与单机命令同样。因而能够看到各台终端机的jmeter-server窗口有关运行和阶段性summary的信息直至运行结束。整体的报告都在你主机保存的那个.jtl文件里。

 

执行结果:

 

 

 

 

相关文章
相关标签/搜索