非GUI模式下运行JMeter和远程启动JMeter

时间:2022-11-08 23:43:01

JMeter是一款非常不错的免费开源压力测试工具,越来越多的公司在使用。不过,在使用过程中可能会存在一些问题,比如:GUI模式非常消耗资源,单个客户端测试无法达到目标压力。而使用非 GUI 模式,即命令行模式运行JMeter测试脚本能够大大缩减所需要的系统资源,使用远程启动模式也可以像Loadrunner那样进行分布式测试。下面跟随小编一起来看看吧。

工具/原料

 
  • JMeter安装包
  • 一台客户机
  • 一台服务器

非GUI模式下运行JMeter

 
  1. 1

    非GUI模式包括在Windows和Linux下运行,小编在这里演示Windows下使用DOS命令运行,Linux下与之类似。

  2. 2

    使用Badboy录制脚本导入JMeter后调试脚本正常运行,并配置好线程数、循环数、调度器等,如下图:

    非GUI模式下运行JMeter和远程启动JMeter
  3. 3

    在命令行中输入:cmd进入DOS命令窗口,再进入JMeter安装的bin目录,如下图:

    非GUI模式下运行JMeter和远程启动JMeter
  4. 4

    DOS命令执行语法:jmeter -n -t <testplan filename> -l <listener filename>。

    --当前目录运行

    JMeter 默认去当前目录寻找脚本文件,并把日志记录在当前目录。如果在D:\E\02_Test\A2_性能测试\JMeter\apache-jmeter-2.13\bin目录下执行以上命令,JMeter会去该目录下寻找product_select.jmx脚本并把执行结果放在该目录。

    --其他目录运行

    如果脚本在其他目录,并且执行结果存放到其他目录,需要使用绝对路径,如:jmeter -n -t D:\E\02_Test\A2_性能测试\JMeter\JMeter脚本\product_select.jmx -l D:\E\02_Test\A2_性能测试\JMeter\JMeter测试结果\product_select_20160311001.jtl

    非GUI模式下运行JMeter和远程启动JMeter
  5. 5

    product_select_20160311001.jtl是刚才执行测试的结果,使用JMeter图形界面打开即可看到查看详细报告内容,如下图:

    非GUI模式下运行JMeter和远程启动JMeterEND

远程启动JMeter

 
  1. 1

    JMeter客户端和JMeter远程服务器安装好JMeter,并配置JVM环境变量,使用java -version命令来检测JDK是否安装成功,如下图:

    非GUI模式下运行JMeter和远程启动JMeter非GUI模式下运行JMeter和远程启动JMeter
  2. 2

    JMeter客户端和JMeter远程服务器网络环境能够互通,使用ping命令来检测,小编这里客户端IP为:192.168.20.242,服务端为:192.168.5.90,检测结果如下:

    非GUI模式下运行JMeter和远程启动JMeter非GUI模式下运行JMeter和远程启动JMeter
  3. 3

    在JMeter远程服务器上运行JMETER_HOME/bin/jmeter-server (UNIX)或者JMETER_HOME/bin/jmeter-server.bat(Windows)脚本,小编这里是UNIX服务器,使用命令:./jmeter-server -Djava.rmi.server.hostname=192.168.5.90,如下图:

    非GUI模式下运行JMeter和远程启动JMeter
  4. 4

    在JMeter客户端上修改/bin/jmeter.properties文件,找到属性"remote_hosts",使用JMeter远程服务器的IP地址作为其属性值。可以添加多个服务器的IP地址,以逗号作为分隔。 

    例如:

    #remote_hosts=127.0.0.1

    remote_hosts=192.168.5.90:1099,192.168.5.91:1099,192.168.5.92:1099

    非GUI模式下运行JMeter和远程启动JMeter
  5. 5

    在JMeter客户端上远程启动,JMeter客户端会自动向JMeter远程服务器上分发测试计划,可以查看远程服务器执行情况,执行完成后在客户端可以查看具体执行结果,如下图:

    非GUI模式下运行JMeter和远程启动JMeter非GUI模式下运行JMeter和远程启动JMeterEND

注意事项

 
  • 非GUI模式下运行JMeter和远程启动JMeter都要先配置好JMeter测试策略