一.GUI mode 图形化界面运行

  to run JMeter, run the jmeter.bat (for Windows) or jmeter (for Unix) file. These files are found in the bin directory.

windows中,bin目录下可用脚本有:

jmeter.bat

  run JMeter (in GUI mode by default)

jmeterw.cmd

  run JMeter without the windows shell console (in GUI mode by default)

jmeter-n.cmd

  drop a JMX file on this to run a non-GUI test

jmeter-n-r.cmd

  drop a JMX file on this to run a non-GUI test remotely

jmeter-t.cmd

  drop a JMX file on this to load it in GUI mode

jmeter-server.bat

  start JMeter in server mode

mirror-server.cmd

  runs the JMeter Mirror Server in non-GUI mode

shutdown.cmd

  Run the Shutdown client to stop a non-GUI instance gracefully

stoptest.cmd

  Run the Shutdown client to stop a non-GUI instance abruptly

Linux/Unix 中,bin目录下可用脚本有:

jmeter

  run JMeter (in GUI mode by default). Defines some JVM settings which may not work for all JVMs.

jmeter-server

  start JMeter in server mode (calls jmeter script with appropriate parameters)

jmeter.sh

  very basic JMeter script (You may need to adapt JVM options like memory settings).

mirror-server.sh

  runs the JMeter Mirror Server in non-GUI mode

shutdown.sh

  Run the Shutdown client to stop a non-GUI instance gracefully

stoptest.sh

  Run the Shutdown client to stop a non-GUI instance abruptly

二.Non-GUI mode( Command-line mode) 非图形化界面运行

  For load testing, you must run JMeter in this mode

命令选项有:

  1. D:\apache-jmeter-3.3\bin>jmeter -?
  2. _ ____ _ ____ _ _ _____ _ __ __ _____ _____ _____ ____
  3. / \ | _ \ / \ / ___| | | | ____| | | \/ | ____|_ _| ____| _ \
  4. / _ \ | |_) / _ \| | | |_| | _| _ | | |\/| | _| | | | _| | |_) |
  5. / ___ \| __/ ___ \ |___| _ | |___ | |_| | | | | |___ | | | |___| _ <
  6. /_/ \_\_| /_/ \_\____|_| |_|_____| \___/|_| |_|_____| |_| |_____|_| \_\ 3.3 r1808647
  7.  
  8. Copyright (c) - The Apache Software Foundation
  9.  
  10. --?
  11. print command line options and exit
  12. -h, --help
  13. print usage information and exit
  14. -v, --version
  15. print the version information and exit
  16. -p, --propfile <argument>
  17. the jmeter property file to use
  18. -q, --addprop <argument>
  19. additional JMeter property file(s)
  20. -t, --testfile <argument>
  21. the jmeter test(.jmx) file to run. "-t LAST" will load last
  22. used file
  23. -l, --logfile <argument>
  24. the file to log samples to
  25. -i, --jmeterlogconf <argument>
  26. jmeter logging configuration file (log4j2.xml)
  27. -j, --jmeterlogfile <argument>
  28. jmeter run log file (jmeter.log)
  29. -n, --nongui
  30. run JMeter in nongui mode
  31. -s, --server
  32. run the JMeter server
  33. -H, --proxyHost <argument>
  34. Set a proxy server for JMeter to use
  35. -P, --proxyPort <argument>
  36. Set proxy server port for JMeter to use
  37. -N, --nonProxyHosts <argument>
  38. Set nonproxy host list (e.g. *.apache.org|localhost)
  39. -u, --username <argument>
  40. Set username for proxy server that JMeter is to use
  41. -a, --password <argument>
  42. Set password for proxy server that JMeter is to use
  43. -J, --jmeterproperty <argument>=<value>
  44. Define additional JMeter properties
  45. -G, --globalproperty <argument>=<value>
  46. Define Global properties (sent to servers)
  47. e.g. -Gport=
  48. or -Gglobal.properties
  49. -D, --systemproperty <argument>=<value>
  50. Define additional system properties
  51. -S, --systemPropertyFile <argument>
  52. additional system property file(s)
  53. -f, --forceDeleteResultFile
  54. force delete existing results files before start the test
  55. -L, --loglevel <argument>=<value>
  56. [category=]level e.g. jorphan=INFO, jmeter.util=DEBUG or com
  57. .example.foo=WARN
  58. -r, --runremote
  59. Start remote servers (as defined in remote_hosts)
  60. -R, --remotestart <argument>
  61. Start these remote servers (overrides remote_hosts)
  62. -d, --homedir <argument>
  63. the jmeter home directory to use
  64. -X, --remoteexit
  65. Exit the remote servers at end of test (non-GUI)
  66. -g, --reportonly <argument>
  67. generate report dashboard only, from a test results file
  68. -e, --reportatendofloadtests
  69. generate report dashboard after load test
  70. -o, --reportoutputfolder <argument>
  71. output folder for report dashboard

举例:

  1. jmeter -n -t my_test.jmx -l log.jtl -H my.proxy.server -P

GUI mode should only be used for creating the test script, NON GUI mode must be used for load testing

三、分布式运行

(1)控制机:也可以参与脚本的运行,同时它也担负着管理远程负载机指挥远程负载机运行的任务,并且收集远程负载机的测试结果。

(2)负载机:向被测应用服务器发起负载的机器。负载机首先要启动一个客户端程序(Agent:jmeter-server.bat),这样控制机才能接管负载机。控制机会把运行的脚本隐蔽地发送到远程负载机,但是如果运行的测试脚本有参数文件及依赖的jar包时,控制机并不能把它们发送到远程负载机,这种情况就需要手动拷贝了。

(3)远程运行逻辑:

  远程负载机首先启动Agent程序,待控制机连接;

  控制机连接上远程负载机;

  控制机发送指令(脚本及启动命令)启动线程;

  负载机运行脚本,回传状态(包括测试结果)

  控制机收集结果并显示。

举例:在10.1.102.68 机器中启动jmeter 作为控制机,在10.1.102.75 机器中启动jmeter作为负载机。

方式一:控制机以GUI方式运行

1.首先在68 jmeter 的jmeter.properties 中指定"remote_hosts" (修改了jmeter.properties 文件需要重新启动JMeter才可以生效)

  1. # Remote Hosts - comma delimited
  2. remote_hosts=10.1.102.75
  3. #remote_hosts=localhost:1099,localhost:2010

2.在75 中,启动JMeter Agent 程序,如

3. 在68中,启动jmeter,做一个简单配置,如下:

点击远程全部启动即可。

此时如果正常运行,则75中的agent 控制台中输出如下:

方式二:控制机通过非GUI方式运行

1. 配置测试计划

2. 在75 中,启动JMeter Agent 程序,如

3. 在68中, 命令行执行如下:

  1. D:\apache-jmeter-3.3\bin>jmeter -n -t F:\jmeter_workspace\测试计划-远程运行实例.jmx -l F:\jmeter_workspace\remote.jtl -R 10.1.102.75
  2. Creating summariser <summary>
  3. Created the tree successfully using F:\jmeter_workspace\测试计划-远程运行实例.jmx
  4. Configuring remote engine: 10.1.102.75
  5. Starting remote engines
  6. Starting the test @ Fri Nov :: CST ()
  7. Remote engines have been started
  8. Waiting for possible Shutdown/StopTestNow/Heapdump message on port

此时如果正常运行,则75中的agent 控制台中输出如下:

四、通过命令行覆盖属性配置

Java system properties and JMeter properties can be overridden directly on the command lin (instead of modifying jmeter.properties). To do so, use the following options:

-D[prop_name]=[value]

  defines a java system property value.

-J[prop_name]=[value]

  defines a local JMeter property.

-G[prop_name]=[value]

  defines a JMeter property to be sent to all remote servers.

-G[propertyfile]

  defines a file containing JMeter properties to be sent to all remote servers.

-L[category]=[priority]

  overrides a logging setting, setting a particular category to the given priority level

举例:

  1. jmeter -Duser.dir=/home/mstover/jmeter_stuff -Jremote_hosts=127.0.0.1 -Ljmeter.engine=DEBUG

实例:从命令行中,指定运行线程数与url

命令行执行命令:

  1. jmeter -n -t "mock_api .jmx" -JthreadCount= -Durl=10.1.102.75

五、命令行选项与properties配置的处理顺序

  1. -p propfile
  2. jmeter.properties (or the file from the -p option) is then loaded
  3. -j logfile
  4. Logging is initialised
  5. user.properties is loaded
  6. system.properties is loaded
  7. all other command-line options are processed

  

***微信扫一扫,关注“python测试开发圈”,了解更多测试教程!***

jmeter-00 JMeter 运行过程的更多相关文章

  1. Jmeter运行过程中如何让Fiddler同时可以抓获到服务器的应答报文

    在默认情况下,Jmeter运行过程中,Fiddler是抓不到对应的应答报文的. 但是,在某些时候,我们希望分析Jmeter执行失败的原因,想了解Jmeter获取到的应答报文是否有问题,就需要同服务器返 ...

  2. jmeter命令行运行-分布式测试

    上一篇文章我们说到了jmeter命令行运行但是是单节点下的, jmeter底层用java开发,耗内存.cpu,如果项目要求大并发去压测服务端的话,jmeter单节点难以完成大并发的请求,这时就需要对j ...

  3. 记录Jmeter集成Jenkins运行Ant做接口监听

    最近在鼓捣Jmeter的接口测试,把他集成到了Jenkins上做自动化接口监听.把操作记录下来. 首先就是进行接口测试的编写.打开Jmeter.主要是把接口的测试逻辑和断言处理调通后就OK了,接口程序 ...

  4. JMeter安装+配置+运行

    环境配置: 操作系统:Win7系统 jdk版本:1.8 JMeter版本:3.0 一  JMeter的安装配置过程 JMeter是100%纯java应用程序,它在任何支持完整java实现的系统上都能正 ...

  5. Jmeter非GUI运行,生成html报告

    一.JMete执行方式 JMeter执行方式有2种,一种是GUI模式,一种是非GUI模式.GUI模式就是界面模式,非GUI模式就是命令行模式.界面模式主要用来编写和调试脚本用的,项目的真正执行最好是采 ...

  6. jmeter的基本使用过程

    jmeter的基本使用过程 接下来几周,我将通过视频的方式,录制下来jmeter的基本用法,方便大家参考学习 可能导图会随时调整

  7. Jmeter命令行运行配置环境变量

    Jmeter命令行运行配置环境变量 在打开jmeter GUI界面时会弹出cmd命令窗口提示:压测时不要用GUI,要用命令行 在cmd命令行里面运行jmeter的话,需要配置jmeter环境变量,下面 ...

  8. JMeter (3) —— JMeter录制脚本并压力测试用户登陆场景以CAS SSO为例(101 Tutorial)

    JMeter (3) -- JMeter录制脚本并压力测试用户登陆场景以CAS SSO为例(101 Tutorial) 主要内容 JMeter录制脚本并进行压力测试用户登陆场景,并以CAS SSO单点 ...

  9. JMeter接口测试-JMeter+ant实现接口自动化测试

    前言 小伙伴们,用python做接口自动化是不是写代码比较繁琐,而且没有python代码基础的小伙伴根本无从下手对吧!今天我们来学习一下如何使用JMeter工具实现接口自动化测试. 1.安装JDK,配 ...

随机推荐

  1. docker——安装

    Docker划分为CE和EE.CE即社区版(免费,支持后期三个月),EE即企业版,强调安全,付费使用. #安装依赖包 yum install -y yum-utils device-mapper-pe ...

  2. .net:Code First 创建或更新数据库

    控制台输入命令: 切换到项目的project.json 文件所在文件 dotnet ef migrations add XXX dotnet ef database update Visual Stu ...

  3. POJ - 2125 Destroying The Graph (最小点权覆盖)

    题意:给一张图,现在要删去所有的边,删去一个点的所有入边和所有出边都有其对应\(W_{i+}\)和\(W_{i-}\).求删去该图的最小花费,并输出解 分析:简而言之就是用最小权值的点集去覆盖所有的边 ...

  4. Gym - 101875I I Will Go (dfs序)

    题意:N个人要参加一个局,每个人有自己的好朋友,如果他的好朋友来,他才有可能来.N个人的关系不够成环.Q次查询,问若x来了,y是否肯定来. 分析:若点y是x的祖先,则y肯定回来.一次dfs确定每个点覆 ...

  5. 关于ajax中responseText不能返回脚本的问题。

    今天做后台时想用ajax返回带有脚本的HTML DOM ,发现脚本被当成字符串了,查了一下responseText()方法返回的是字符串,查了一下百度,用了正则匹配,匹配到脚本然后执行,不想当一个伸手 ...

  6. java泛型的实现原理

    java泛型的实现原理是类型擦除.Java的泛型是伪泛型.在编译期间,所有的泛型信息都会被擦除掉.   Java中的泛型基本上都是在编译器这个层次来实现的.在生成的Java字节码中是不包含泛型中的类型 ...

  7. input 虚拟键盘

    if (!Element.prototype.scrollIntoViewIfNeeded) { Element.prototype.scrollIntoViewIfNeeded = function ...

  8. Linux 实时性能测试工具——Cyclictest

    Cyclictest 是 rt-tests 下的一个测试工具,也是rt-tests 下使用最广泛的测试工具,一般主要用来测试使用内核的延迟,从而判断内核的实时性. 1.2 cyclictest 安装 ...

  9. JS等比例缩放图片,限定最大宽度和最大高度

    JS等比例缩放图片,限定最大宽度和最大高度 JavaScript //图片按比例缩放 var flag=false; function DrawImage(ImgD,iwidth,iheight){ ...

  10. BeanFactory与ApplicationContext

    本文总结自:https://www.cnblogs.com/xiaoxi/p/5846416.html 我们常说的Spring容器(即Spring Ioc 容器),是如何创建bean的? BeanFa ...