Jmeter 有两种模式,GUI 模式和非 GUI 模式,通常使用 GUI 模式编辑脚本,使用非 GUI 模式运行压测,官网上有强调,尽量使用非 GUI 模式,因为 GUI 模式下,jmeter UI 组件本身在压测过程中会占用很多物理资源
-n 表示non gui,
-t 用于指定jmx文件,
-l为输出的jtl结果,
-e 表示生成报表(默认html格式)
-o 表示结果输出到哪个文件夹
./apache-jmeter-3.3/bin/jmeter -Jnum=50 -Jtime=43200 -n -t test.jmx -l result.jtl -e -o report
看下执行结果,可以看到有打印活跃的线程数,以及进度和时间等。
具体相关参数,执行 jmeter -h 即可获得相应的帮助,这里有简单的说明
执行完命令之后,会在当前目录下生成 report 文件夹,里面的内容如下,打开 index.html 文件,就可以看到相关的报告的拉,这里就不详述了,各位自己测试下就可以
命令行下,怎么传参,这个是一定会遇到的问题,需要使用 jmeter 的函数 ${__P(变量名, 默认值)},
例如我定义一个线程组,我希望在运行时指定线程数(并发用户数)和运行时间,如下图所示,我定义了个变量,num,代表线程数
然后执行的时候,使用 -Jxxx 进行传参
./apache-jmeter-3.3/bin/jmeter -Jnum=50 -n -t test.jmx -l result.jtl -e -o report
使用命令
jmeter -g result.jtl -o output