一、Jmeter参数

在命令行输入Jmeter --help得到以下信息:

To run Apache JMeter in GUI mode:
Double-click on the ApacheJMeter.jar file.
If this doesn't work, open a command prompt and type:

java -jar ApacheJMeter.jar [-p property-file]

--------------------------------------------------

To run Apache JMeter in NON_GUI mode:
Open a command prompt (or Unix shell) and type:

java -jar ApacheJMeter.jar -n -t test-file [-p property-file] [-l log-file]

--------------------------------------------------

To tell Apache JMeter to use a proxy server:
Open a command prompt and type:

java -jar ApacheJMeter.jar -H [your.proxy.server] -P [your proxy server port]

---------------------------------------------------

To run Apache JMeter in server mode:
Open a command prompty and type

java -jar ApacheJMeter.jar -s

Or, use the provided script file: jmeter-server.bat(Windows)/jmeter-server(Linux)

---------------------------------------------------

Please note that a script file is provided:
jmeter.bat(Windows)/jmeter(Linux) that can be
used in place of "java -jar ApacheJMeter.jar". Example:

jmeter -p jmeter.properties -H my.proxy.com -P 9999

由以上标红的这一段可以知道,非GUI下运行jmeter,如下命令即可:

jmeter -n -t test-file [-p property-file] [-l log-file]

二、Jmeter使用

这里是我们使用非 GUI 模式运行测试脚本时可以使用的一些命令:

    • -h / --help 帮助 -> 打印出有用的信息并退出
    • -n 非 GUI 模式 -> 在非 GUI 模式下运行 JMeter
    • -t 测试文件 -> 要运行的 JMeter 测试脚本文件
    • -l 日志文件 -> 记录结果的文件
    • -r 远程执行 -> 启动远程服务
    • -H 代理主机 -> 设置 JMeter 使用的代理主机
    • -P 代理端口 -> 设置 JMeter 使用的代理主机的端口号

  我们一般在非GUI下用如下命令即可完成基本性能测试场景:

    jmeter -n -t test1.jmx -l logfile1.jtl -H 192.168.1.1 -P 8080

    测试文件 .jmx -- 可以在windows下输入各值默认生成jmx文本,再拷贝到linux环境下,之后使用vim修改.jmx文件即可。

    日志文件 .jtl  -- 可以导出到windows下分析具体信息。

三、Jmeter结果分析

输入命令:jmeter -n -t tvlive01.jmx -l test1.jtl

测试场景1:100并发,运行3分钟

摘取最后概要结果:

summary =  26523 in   246s =  107.6/s Avg:   910 Min:    66 Max: 127323 Err:     5 (0.02%)

测试场景2:200并发,运行3分钟

摘取最后概要结果:

summary = 29179 in 273s = 107.0/s Avg: 1768 Min: 72 Max: 127336 Err: 70 (0.24%)

根据结果对比粗略分析如下:

并发增加一倍,但是QPS却没有增加反而有下降,响应时间增加快一倍,错误率也增加。

具体的错误原因可在test1.jtl中分析,因为该接口是去访问web,很大可能是web服务器性能差,可以向这方面继续分析。