JMeter是一款可以用于做接口可以用于作压力性能的应用程序,该程序是纯Java语音开发,所有对环境支持都比较好。
JMeter可以运行模式有两种,一种是UI图形,另一种是命令模式运行也就是非GUI模式。两种模式的区别还是挺大的。
GUIi:由于是图形界面,所以在运行时会消耗很多资源,而且图形界面运行时结果是保存在Jmeter运行的内存中,如果是做长时的性能测试,内存就会占用的很高,首先就是影响性能结果的准确性,其次当内存增长到一定程度,就会报错,甚至可能出现卡死。1
非GUIi:命令模式运行可以将实时的log文件保存到本地,位置可以自定义,不会占用太多机器的资源,可以长时间运行。
非GUI运行命令部分:
-h 帮助 -> 打印出有用的信息并退出
-n 非 GUI 模式 -> 在非 GUI 模式下运行 JMeter
-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测试文件并保存结果及日志文件