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
  • 相关阅读:
    [HAOI2015]树上操作(树链剖分)
    树链剖分——解决树上路径问题利器
    [CodeForces 833B] The Bakery(数据结构优化dp)
    [国家集训队]最长双回文串(马拉车)
    [国家集训队]拉拉队排练(Manacher)
    【ATcoder】AtCoder Beginner Contest 159 题解
    蒟蒻的数列[BZOJ4636](线段树)
    Manacher马拉车算法——解决最长回文子串问题
    HDU 1501 Zipper (记忆化搜索)
    HDU 1428 漫步校园 (dfs+记忆化搜索dfs)
  • 原文地址:https://www.cnblogs.com/miniren/p/7206124.html
Copyright © 2011-2022 走看看