[关闭]
@huis 2017-06-29T10:31:13.000000Z 字数 2821 阅读 229

Jmeter学习笔记--无GUI模式运行详解

Jmeter


普通命令

jmeter -n -t test.jmx -l test.jtl

备注:这种方式的运行,最好把脚本中的监听器全部删掉或禁用,防止影响性能

参数大全

  1. -h, --help
  2. print usage information and exit
  3.          #打印帮助信息 
  4. -v, --version
  5. print the version information and exit
  6.           #打印版本信息
  7. -p, --propfile {argument}
  8. the jmeter property file to use
  9.           #运行时指定property文件,默认是使用JMETER_HOME/bin目录下的jmeter.properties,如果用户自定义有其它的配置,在这里加上
  10.           #用法如下: -p user.properties
  11. -q, --addprop {argument}
  12. additional property file(s)
  13.           #其它配置文件,如JVM参数等等
  14. -t, --testfile {argument}
  15. the jmeter test(.jmx) file to run
  16.          #要运行的jmeter脚本
  17. -j, --jmeterlogfile {argument}
  18. the jmeter log file
  19.          #指定记录jmeter log的文件,默认为jmeter.log
  20. -l, --logfile {argument}
  21. the file to log samples to
  22.          #记录采样器Log的文件
  23. -n, --nongui
  24. run JMeter in nongui mode
  25.          #以nongui模式运行jmeter
  26. -s, --server
  27. run the JMeter server
  28.          #运行JMeter server
  29. -H, --proxyHost {argument}
  30. Set a proxy server for JMeter to use
  31.          #代理服务器地址
  32. -P, --proxyPort {argument}
  33. Set proxy server port for JMeter to use
  34.          #代理服务器端口
  35. -u, --username {argument}
  36. Set username for proxy server that JMeter is to use
  37.          #代理服务器的用户名
  38. -a, --password {argument}
  39. Set password for proxy server that JMeter is to use
  40.          #代理服务器用户名对应的密码
  41. -J, --jmeterproperty {argument}={value}
  42. Define additional JMeter properties
  43.          #定义额外的Jmeter属性
  44. -G, --globalproperty (argument)[=(value)]
  45. Define Global properties (sent to servers)
  46. e.g. -Gport=123
  47. or -Gglobal.properties
  48.          #定义发送给server的全局属性
  49.          #如:-Gport=123 或者-Gglobal.properties(指定监听server的端口)
  50. -D, --systemproperty {argument}={value}
  51. Define additional System properties
  52.          #定义系统属性
  53. -S, --systemPropertyFile {filename}
  54. a property file to be added as System properties
  55.          #通过指定的property文件定义系统属性
  56. -L, --loglevel {argument}={value}
  57. Define loglevel: [category=]level
  58. e.g. jorphan=INFO or jmeter.util=DEBUG
  59.          #定义日志等级
  60. -r, --runremote (non-GUI only)
  61. Start remote servers (as defined by the jmeter property remote_hosts)
  62.          #启动远程server(在jmeter property中定义好的remote_hosts),公在non-gui模式下此参数才生效
  63. -R, --remotestart server1,... (non-GUI only)
  64. Start these remote servers (overrides remote_hosts)
  65.          #启动远程server(如果使用此参数,将会忽略jmeter property中定义的remote_hosts)
  66. -d, --homedir {argument}
  67. the jmeter home directory to use
  68. #Jmeter运行的主目录
  69. -X, --remoteexit
  70. Exit the remote servers at end of test (non-GUI)
  71.          #测试结束时,退出(在non-gui模式下)

运行并生成报告

jmeter -n -t test.jmx -l test.jtl -e -o ./reportFolder

备注:-o 生成报告的目录必须不存在

日志转报告

jmeter -g result.jtl -o ./resultReport

把生成的日志转化为报告

限制流量运行,模拟手机2G,3G,4G网络

  1. jmeter -n -t test.jmx -l test.jtl -Jhttpclient.socket.http.cps=21888 -Jhttpclient.socket.https.cps=21888

21888表示: 171*1024/8
171表示: 171Kbit/s(下行带宽)=21.375KB/s(下行速度)

备注:8Kbit/s = 1KB/s

所以CPS计算公式为:

下面给出常用的网络cps值:

网络 Cps值
GPRS 21888
3g 2688000
4g 19200000
wifi(802.11a/g) 6912000
adsl 1024000
100m 12800000
Gigabit 128000000

命令行控制脚本中的可变变量

  1. jmeter -n -t rls_exam.jmx -l test.jtl -Jexamcode=675867 -Jlaunchtime=300 -Jlazytime=5 -Jthreadsnum=2 -Jramptime=10

示例截图:
image_1avt8ctqra841m6a1d41lrv1il8g.png-145.1kB

思考问题:
1. 如何控制是否开启循环次数
2. 如何控制是否开启调度器

Out Of Memery

默认的JVM配置是-Xms512m -Xmx512m,所以如果超过150个线程执行时有可能会内存溢出,下面是配置JVM方法:

  1. JVM_ARGS="-Xms1024m -Xmx1024m" jmeter -t test.jmx [etc.]

参考链接:JMeter-自动生成测试报告
参考链接:在jmeter测试中模拟不同的带宽环境

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注