Locust学习笔记8——命令行参数详解

2023-02-02 17:10:50 浏览数 (1)

  引言

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

  命令行参数

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

代码语言:javascript复制
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群,一起学习与沟通。

0 人点赞