zoukankan      html  css  js  c++  java
  • JMeter 十二:命令行执行

    参考文档:http://jmeter.apache.org/usermanual/get-started.html#non_gui

    真正开始跑压力测试时,我们就不能使用GUI模式了。这时候需要采用命令行模式。

    执行测试命令

    参数说明:

    -n, --nongui
            run JMeter in nongui mode    //以命令行模式执行JMeter
    -t, --testfile <argument>
            the jmeter test(.jmx) file to run. "-t LAST" will load last used file  //指定要执行的JMX脚本
    -l, --logfile <argument>
            the file to log samples to    //指定取样结果的保存文件
    -j, --jmeterlogfile <argument>
            jmeter run log file (jmeter.log)    //指定jmeter.log的路径

    示例:

    1. 命令行方式跑 my_test.jmx

    jmeter -n -t my_test.jmx

    2. 保存取样结果

    这里取样结果可以保存为csv格式,也可以保存为jtl格式。

    jmeter -n -t my_test.jmx -l a.csv

    保存好的a.csv或者a.jtl文件可以在后期使用JMeter直接打开。

    新建一个Test Plan,任意建立一个监听器,比如查看结果树。点击浏览,打开我们保存的文件,这里就是a.csv,就可以看到详细取样结果信息。

    image

    3. 保存JMeter的log文件

    JMeter的log信息默认情况下都保存到 jmeter.log文件里面。但是这个文件每次跑测试之前都会清空,所以如果我们想要保存每次测试的log信息,我们就需要用到 –j 这条命令。

    jmeter -n -t my_test.jmx -j a.log

    以JMeter的GUI模式执行时,可以通过点击下面的黄色感叹号来打开 Log View 面板,也可以通过 选项 –> Log Viewer来打开。Log Viewer面板显示的log和上面命令行执行产生的a.log的内容是一致的。

    image

    log内容类似如下:

    2017-03-01 12:19:20,314 INFO o.a.j.JMeter: Version 3.2.20170301
    2017-03-01 12:19:45,314 INFO o.a.j.g.a.Load: Loading file: c:mytestfilesBSH.jmx 
    2017-03-01 12:19:52,328 INFO o.a.j.e.StandardJMeterEngine: Running the test! 
    2017-03-01 12:19:52,384 INFO o.a.j.e.StandardJMeterEngine: Starting 1 threads for group BSH. Ramp up = 1. 
    2017-03-01 12:19:52,485 INFO o.a.j.e.StandardJMeterEngine: Continue on error 
    2017-03-01 12:19:52,589 INFO o.a.j.t.JMeterThread: Thread BSH1-1 started 
    2017-03-01 12:19:52,590 INFO o.a.j.t.JMeterThread: Thread BSH1-1 is done 
    2017-03-01 12:19:52,691 INFO o.a.j.e.StandardJMeterEngine: Test has ended

     

    远程执行

    参数说明:

    -r, --runremote
            Start remote servers (as defined in remote_hosts)    //在 remote_hosts定义的机器上跑测试
    -R, --remotestart <argument>
            Start these remote servers (overrides remote_hosts)    //在后边定义的机器上跑测试
    -X, --remoteexit
        Exit the remote servers at end of test (non-GUI)        //测试结束退出远程机器

    示例:

    1. 在远程机器上跑测试

    jmeter -n -t testplan.jmx –r

    前提是设置好远程连接:JMeter 七:远程测试

    设置好远程服务器之后,这里就会启动 jmeter.properties文件里面 remote_hosts配置的远程机器。

    2. 在特定的远程机器上跑测试

    jmeter -n -t script.jmx -R server1,server2,…

    这里先定义远程机器,然后在远程机器上启动测试。

    代理

    如果需要在防火墙或者代理服务器后测试,我们需要向JMeter提供 防火墙或者代理服务器的机器名以及端口号。

    -H, --proxyHost <argument>
            Set a proxy server for JMeter to use        //设置JMeter使用的代理服务器
    -P, --proxyPort <argument>
            Set proxy server port for JMeter to use        //设置JMeter使用的代理服务器端口号
    -N, --nonProxyHosts <argument>
            Set nonproxy host list (e.g. *.apache.org|localhost)    //设置非代理服务器列表
    -u, --username <argument>
            Set username for proxy server that JMeter is to use        //设置JMeter使用的代理服务器用户名
    -a, --password <argument>
            Set password for proxy server that JMeter is to use        //设置JMeter使用的代理服务器密码

    示例:

    jmeter -H xxx.xxx.xxx -P 8000 -u username -a password -N localhost

    帮助命令

    参数说明:

    --?
            print command line options and exit        //打印命令行选项    
    -h, --help
            print usage information and exit        //打印帮助信息
    -v, --version
            print the version information and exit    //打印版本信息

    其他命令

    还有一些不常用的其他命令,主要都是对一些属性的设置。拷贝下来留作备用。

    -p, --propfile <argument>
            the jmeter property file to use
    -q, --addprop <argument>
            additional JMeter property file(s)
    -i, --jmeterlogconf <argument>
            jmeter logging configuration file (log4j2.xml)
    -s, --server
            run the JMeter server
    -J, --jmeterproperty <argument>=<value>
            Define additional JMeter properties
    -G, --globalproperty <argument>=<value>
            Define Global properties (sent to servers)
            e.g. -Gport=123
             or -Gglobal.properties
    -D, --systemproperty <argument>=<value>
            Define additional system properties
    -S, --systemPropertyFile <argument>
            additional system property file(s)
    -f, --forceDeleteResultFile
            force delete existing results files before start the test
    -L, --loglevel <argument>=<value>
            [category=]level e.g. jorphan=INFO, jmeter.util=DEBUG or com
            .example.foo=WARN
    -d, --homedir <argument>
            the jmeter home directory to use
  • 相关阅读:
    LOJ 6089 小Y的背包计数问题 —— 前缀和优化DP
    洛谷 P1969 积木大赛 —— 水题
    洛谷 P1965 转圈游戏 —— 快速幂
    洛谷 P1970 花匠 —— DP
    洛谷 P1966 火柴排队 —— 思路
    51Nod 1450 闯关游戏 —— 期望DP
    洛谷 P2312 & bzoj 3751 解方程 —— 取模
    洛谷 P1351 联合权值 —— 树形DP
    NOIP2007 树网的核
    平面最近点对(加强版)
  • 原文地址:https://www.cnblogs.com/miniren/p/7206124.html
Copyright © 2011-2022 走看看