zoukankan      html  css  js  c++  java
  • Locust学习笔记8——命令行参数详解

      引言

      前面在Locust学习笔记7——no-web模式运行脚本这篇文章中已经讲过非GUI模式运行脚本,也就是在windows系统下以命令的方式去运行脚本。而Linux系统也是使用no-web方式运行。所以,我们要了解哪些命令。

      命令行参数

      最简单的方式,输入cmd,再dos窗口下输入locust --help,查看所有的命令行参数

    locust --help
    usage: locust [-h] [-H HOST] [--web-host WEB_HOST] [-P PORT] [-f LOCUSTFILE]
                  [--csv CSVFILEBASE] [--csv-full-history] [--master] [--slave]
                  [--master-host MASTER_HOST] [--master-port MASTER_PORT]
                  [--master-bind-host MASTER_BIND_HOST]
                  [--master-bind-port MASTER_BIND_PORT]
                  [--heartbeat-liveness HEARTBEAT_LIVENESS]
                  [--heartbeat-interval HEARTBEAT_INTERVAL]
                  [--expect-slaves EXPECT_SLAVES] [--no-web] [-c NUM_CLIENTS]
                  [-r HATCH_RATE] [-t RUN_TIME] [--skip-log-setup] [--step-load]
                  [--step-clients STEP_CLIENTS] [--step-time STEP_TIME]
                  [--loglevel LOGLEVEL] [--logfile LOGFILE] [--print-stats]
                  [--only-summary] [--no-reset-stats] [--reset-stats] [-l]
                  [--show-task-ratio] [--show-task-ratio-json] [-V]
                  [--exit-code-on-error EXIT_CODE_ON_ERROR] [-s STOP_TIMEOUT]
                  [LocustClass [LocustClass ...]]
    
    Args that start with '--' (eg. -H) can also be set in a config file
    (~/.locust.conf or locust.conf). Config file syntax allows: key=value,
    flag=true, stuff=[a,b,c] (for details, see syntax at https://goo.gl/R74nmi).
    If an arg is specified in more than one place, then commandline values
    override config file values which override defaults.
    
    positional arguments:
      LocustClass
    
    optional arguments:
      -h, --help            show this help message and exit
      -H HOST, --host HOST  Host to load test in the following format:
                            http://10.21.32.33
      --web-host WEB_HOST   Host to bind the web interface to. Defaults to '' (all
                            interfaces)
      -P PORT, --port PORT, --web-port PORT
                            Port on which to run web host
      -f LOCUSTFILE, --locustfile LOCUSTFILE
                            Python module file to import, e.g. '../other.py'.
                            Default: locustfile
      --csv CSVFILEBASE, --csv-base-name CSVFILEBASE
                            Store current request stats to files in CSV format.
      --csv-full-history    Store each stats entry in CSV format to
                            _stats_history.csv file
      --master              Set locust to run in distributed mode with this
                            process as master
      --slave               Set locust to run in distributed mode with this
                            process as slave
      --master-host MASTER_HOST
                            Host or IP address of locust master for distributed
                            load testing. Only used when running with --slave.
                            Defaults to 127.0.0.1.
      --master-port MASTER_PORT
                            The port to connect to that is used by the locust
                            master for distributed load testing. Only used when
                            running with --slave. Defaults to 5557.
      --master-bind-host MASTER_BIND_HOST
                            Interfaces (hostname, ip) that locust master should
                            bind to. Only used when running with --master.
                            Defaults to * (all available interfaces).
      --master-bind-port MASTER_BIND_PORT
                            Port that locust master should bind to. Only used when
                            running with --master. Defaults to 5557.
      --heartbeat-liveness HEARTBEAT_LIVENESS
                            set number of seconds before failed heartbeat from
                            slave
      --heartbeat-interval HEARTBEAT_INTERVAL
                            set number of seconds delay between slave heartbeats
                            to master
      --expect-slaves EXPECT_SLAVES
                            How many slaves master should expect to connect before
                            starting the test (only when --no-web used).
      --no-web              Disable the web interface, and instead start running
                            the test immediately. Requires -c and -t to be
                            specified.
      -c NUM_CLIENTS, --clients NUM_CLIENTS
                            Number of concurrent Locust users. Only used together
                            with --no-web
      -r HATCH_RATE, --hatch-rate HATCH_RATE
                            The rate per second in which clients are spawned. Only
                            used together with --no-web
      -t RUN_TIME, --run-time RUN_TIME
                            Stop after the specified amount of time, e.g. (300s,
                            20m, 3h, 1h30m, etc.). Only used together with --no-
                            web
      --skip-log-setup      Disable Locust's logging setup. Instead, the
                            configuration is provided by the Locust test or Python
                            defaults.
      --step-load           Enable Step Load mode to monitor how performance
                            metrics varies when user load increases. Requires
                            --step-clients and --step-time to be specified.
      --step-clients STEP_CLIENTS
                            Client count to increase by step in Step Load mode.
                            Only used together with --step-load
      --step-time STEP_TIME
                            Step duration in Step Load mode, e.g. (300s, 20m, 3h,
                            1h30m, etc.). Only used together with --step-load
      --loglevel LOGLEVEL, -L LOGLEVEL
                            Choose between DEBUG/INFO/WARNING/ERROR/CRITICAL.
                            Default is INFO.
      --logfile LOGFILE     Path to log file. If not set, log will go to
                            stdout/stderr
      --print-stats         Print stats in the console
      --only-summary        Only print the summary stats
      --no-reset-stats      [DEPRECATED] Do not reset statistics once hatching has
                            been completed. This is now the default behavior. See
                            --reset-stats to disable
      --reset-stats         Reset statistics once hatching has been completed.
                            Should be set on both master and slaves when running
                            in distributed mode
      -l, --list            Show list of possible locust classes and exit
      --show-task-ratio     print table of the locust classes' task execution
                            ratio
      --show-task-ratio-json
                            print json data of the locust classes' task execution
                            ratio
      -V, --version         show program's version number and exit
      --exit-code-on-error EXIT_CODE_ON_ERROR
                            sets the exit code to post on error
      -s STOP_TIMEOUT, --stop-timeout STOP_TIMEOUT
                            Number of seconds to wait for a simulated user to
                            complete any executing task before exiting. Default is
                            to terminate immediately. This parameter only needs to
                            be specified for the master process when running
                            Locust distributed.
    

      你也可以在pycharm编辑器终端terminal输入:locust --help

      参数中文说明

    参数名称参数值参数说明
    -h, --help 不带参数 查看帮助信息
    -H HOST, –host=HOST HOST 指定被测试的主机,采用以格式:http://10.21.32.33
    –web-host=WEB_HOST WEB_HOST 指定运行 Locust Web 页面的主机,默认为空 “。
    -P PORT, –port=PORT, –web-port=PORT PORT 指定 –web-host 的端口,默认是8089
    -f LOCUSTFILE, –locustfile=LOCUSTFILE LOCUSTFILE 指定运行 Locust 性能测试文件,默认为: locustfile.py
    –csv=CSVFILEBASE, –csv-base-name=CSVFILEBASE CSVFILEBASE 以CSV格式存储当前请求测试数据。
    –master 不带参数 Locust 分布式模式使用,当前节点为 master 节点。
    –slave 不带参数 Locust 分布式模式使用,当前节点为 slave 节点。
    –master-host=MASTER_HOST MASTER_HOST 分布式模式运行,设置 master 节点的主机或 IP 地址,只在与 –slave 节点一起运行时使用,默认为:127.0.0.1.
    –master-port=MASTER_PORT MASTER_PORT 分布式模式运行, 设置 master 节点的端口号,只在与 –slave 节点一起运行时使用,默认为:5557。注意,slave 节点也将连接到这个端口+1 上的 master 节点。
    –master-bind-host=MASTER_BIND_HOST MASTER_BIND_HOST 做分布式压测时,指定分机IP。只用于master。如果没有指定,默认是所有可用的IP(即所有标记主机IP的slave)
    –master-bind-port=MASTER_BIND_PORT MASTER_BIND_PORT 做分布式压测时,指定分机port。默认是5557与5558。
    –no-web no-web -c 和 -r 配合 模式运行测试,需要 -c 和 -r 配合使用.
    -c NUM_CLIENTS, –clients=NUM_CLIENTS NUM_CLIENTS 指定并发用户数,作用于 –no-web 模式。
    -r HATCH_RATE, –hatch-rate=HATCH_RATE HATCH_RATE 指定每秒启动的用户数,作用于 –no-web 模式。
    -t RUN_TIME, –run-time=RUN_TIME RUN_TIME 设置运行时间, 例如: (300s, 20m, 3h, 1h30m). 作用于 –no-web 模式。
    -L LOGLEVEL, –loglevel=LOGLEVEL LOGLEVEL 选择 log 级别(DEBUG/INFO/WARNING/ERROR/CRITICAL). 默认是 INFO.
    –logfile=LOGFILE LOGFILE 日志文件路径。如果没有设置,日志将去 stdout/stderr
    –print-stats 不带参数 在控制台中打印数据
    –only-summary 不带参数 只打印摘要统计
    –no-reset-stats 不带参数 Do not reset statistics once hatching has been completed。
    -l, –list 不带参数 显示测试类, 配置 -f 参数使用
    –show-task-ratio 不带参数 打印 locust 测试类的任务执行比例,配合 -f 参数使用.
    –show-task-ratio-json 不带参数 以 json 格式打印 locust 测试类的任务执行比例,配合 -f 参数使用.
    -V, –version 不带参数 查看当前 Locust 工具的版本.

      总结

      前面讲案例的时候也讲过命令详情,这里单独拎出来讲一下常用的一些命令,方便以后查阅。另外,对测试及测试开发感兴趣的,有思想的小伙伴们可以加入QQ群,一起学习与沟通。

  • 相关阅读:
    c++之运算符
    C++开源库,欢迎补充。
    C++ 图像处理类库
    C++开源代码项目汇总
    视频会议及流媒体十大开源项目
    多媒体的框架
    C++开发资源汇总
    Juce之旅-第一个例子(图形窗口)
    Juce-强大的开源类库
    图像处理库的比较:OpenCV,FreeImage,CImg,CxImage
  • 原文地址:https://www.cnblogs.com/liudinglong/p/13200598.html
Copyright © 2011-2022 走看看