Jmeter -- 初体验
一、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服务器性能差,可以向这方面继续分析。