引言
前面在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群,一起学习与沟通。