Locust - 如何使用Locust配置?
使用配置选项
通过命令行参数来设置 通过环境变量设置。例子:
LOCUST_LOCUSTFILE=custom_locustfile.py locust
可以由配置文件格式的配置文件设置。默认情况下,Locust 将查找 ~/.locust.conf
和./locust.conf
,您可以使用--config
标志指定附加文件。配置读取的优先级如下:~/locust.conf -> ./locust.conf -> (file specified using --conf) -> env vars -> cmd args
# master.conf in current directory
locustfile = locust_files/my_locust_file.py
headless = true
master = true
expect-workers = 5
host = http://target-system
users = 100
spawn-rate = 10
run-time = 10m
locust --config=master.conf
所有可用的配置选项
Command line | Environment | Config file | Description | |
---|---|---|---|---|
-f, --locustfile | LOCUST_LOCUSTFILE | locustfile | Python module to import, e.g. ‘../other_test.py’. Either a .py file or a package directory. Defaults to ‘locustfile’ | |
-H, --host | LOCUST_HOST | host | Host to load test in the following format: http://10.21.32.33 | |
-u, --users | LOCUST_USERS | users | 并发 Locust 用户的峰值数量。主要--headless 或--autostart 一起使用。可以在测试期间通过键盘输入 w、W(生成 1、10 个用户)和 s、S(停止 1、10 个用户)来更改 |
|
-r, --spawn-rate | LOCUST_SPAWN_RATE | spawn-rate | 以(每秒用户数)生成用户的速率。主要与 –headless 或 –autostart 一起使用 |
|
--hatch-rate | LOCUST_HATCH_RATE | hatch-rate | ==SUPPRESS== | |
抑制速率的增长 | false | |||
-t, --run-time | LOCUST_RUN_TIME | run-time | 在指定的时间后停止,例如(300s、20m、3h、1h30m 等)。仅与 --headless 或 --autostart 一起使用。默认永远运行。 |
|
--web-host | LOCUST_WEB_HOST | web-host | 将 Web 界面绑定到的主机。默认为“*”(所有接口) | |
--web-port, -P | LOCUST_WEB_PORT | web-port | 运行 Web 主机的端口 | false |
--headless | LOCUST_HEADLESS | headless | 禁用 Web 界面(使用终端)),并立即开始测试。使用 -u 和 -t 控制用户数和运行时间 | |
--autostart | LOCUST_AUTOSTART | autostart | 立即开始测试(不禁用 Web UI)。使用 -u 和 -t 控制用户数和运行时间。可同时使用终端以及web ui页面观察 | |
--autoquit | LOCUST_AUTOQUIT | autoquit | 在运行完成 X 秒后完全退出 Locust。仅与 --autostart 一起使用。默认设置是保持 Locust 运行,直到您使用 CTRL+C 将其关闭 |
|
--headful | LOCUST_HEADFUL | headful | ==SUPPRESS== | false |
--web-auth | LOCUST_WEB_AUTH | web-auth | 为 Web 界面打开基本身份验证。应按以下格式提供:username:password | |
--tls-cert | LOCUST_TLS_CERT | tls-cert | 用于通过 HTTPS 提供服务的 TLS 证书的可选路径 | |
--tls-key | LOCUST_TLS_KEY | tls-key | 用于通过 HTTPS 提供服务的 TLS 私钥的可选路径 | |
--master | LOCUST_MODE_MASTER | master | 设置 locust 以分布式模式运行,此进程作为主进程 | |
--master-bind-host | LOCUST_MASTER_BIND_HOST | master-bind-host | locust master 应该绑定的接口(主机名、ip)。仅在使用 --master 运行时使用。默认为 *(所有可用接口)。 | |
--master-bind-port | LOCUST_MASTER_BIND_PORT | master-bind-port | ocust master 应该绑定的端口。仅在使用--master 运行时使用。默认为 5557。 | |
--expect-workers | LOCUST_EXPECT_WORKERS | expect-workers | 在开始测试之前,master 应该期望连接多少个worker(仅当使用--headless/autostart 时)。 | |
--expect-workers-max-wait | LOCUST_EXPECT_WORKERS_MAX_WAIT | expect-workers-max-wait | master在放弃之前应该等待worker连接多长时间。默认为永远等待 | |
--worker | LOCUST_MODE_WORKER | worker | 设置 locust 以分布式模式运行,此进程作为 worker | |
--master-host | LOCUST_MASTER_NODE_HOST | master-host | 用于分布式负载测试的 locust master 的主机或 IP 地址。仅在使用 --worker 运行时使用。默认为 127.0.0.1。 |
|
--master-port | LOCUST_MASTER_NODE_PORT | master-port | locust master 使用要连接的端口进行分布式负载测试。仅在使用--worker 运行时使用。默认为 5557。 |
|
-T, --tags | LOCUST_TAGS | tags | 要包含在测试中的标签列表,因此只有具有任何匹配标签的任务才会被执行。 | |
-E, --exclude-tags | LOCUST_EXCLUDE_TAGS | exclude-tags | 要从测试中排除的标签列表,因此只会执行没有匹配标签的任务。 | |
--csv | LOCUST_CSV | csv | 以 CSV 格式将当前请求统计信息存储到文件中。设置此选项将生成三个文件:[CSV_PREFIX]_stats.csv、[CSV_PREFIX]_stats_history.csv 和 [CSV_PREFIX]_failures.csv | |
--csv-full-history | LOCUST_CSV_FULL_HISTORY | csv-full-history | 将每个统计信息条目以 CSV 格式存储到 _stats_history.csv 文件中。您还必须指定“--csv ”参数才能启用此功能。 |
|
--print-stats | LOCUST_PRINT_STATS | print-stats | 在控制台中打印统计信息 | |
--only-summary | LOCUST_ONLY_SUMMARY | only-summary | 仅打印摘要统计信息 | |
--reset-stats | LOCUST_RESET_STATS | reset-stats | 用户增长完成后重置统计信息。在分布式模式下运行时,应在 master 和 worker 上都设置 | |
--html | LOCUST_HTML | html | 将 HTML 报告存储到指定的文件路径 | |
--skip-log-setup | LOCUST_SKIP_LOG_SETUP | skip-log-setup | 禁用 Locust 的日志记录设置。相反,配置由 Locust 测试或 Python 默认值提供。 | |
--loglevel, -L | LOCUST_LOGLEVEL | loglevel | 选择日志级别:DEBUG/INFO/WARNING/ERROR/CRITICAL.默认为 INFO. | |
--logfile | LOCUST_LOGFILE | logfile | 日志文件的路径。如果未设置,日志将转到 stderr | |
--exit-code-on-error | LOCUST_EXIT_CODE_ON_ERROR | exit-code-on-error | 设置当测试结果包含任何失败或错误时使用的进程退出代码 | |
-s, --stop-timeout | LOCUST_STOP_TIMEOUT | stop-timeout | 在退出之前等待模拟用户完成任何正在执行的任务的秒数。默认是立即终止。该参数只需要在运行 Locust 分布式时为主进程指定。 |
Custom arguments
请参阅自定义参数
Customization of statistics settings
Locust统计数据的默认配置设置在stats.py文件的常量中。通过覆盖这些值,可以将其调优到特定要求。要执行此操作,请导入lostem.stats模块并覆盖所需设置。
import locust.stats
locust.stats.CONSOLE_STATS_INTERVAL_SEC = 15
它可以直接在Locust文件中完成,也可以提取到单独的文件中供所有Locust文件共同使用。
Parameter name | Purpose |
---|---|
STATS_NAME_WIDTH | Width of column for request name in console output |
STATS_TYPE_WIDTH | Width of column for request type in console output |
CSV_STATS_INTERVAL_SEC | Interval for how frequently the CSV file is written if this option is configured |
CONSOLE_STATS_INTERVAL_SEC | Interval for how frequently results are written to console |
CURRENT_RESPONSE_TIME_PERCENTILE_WINDOW | Window size/resolution - in seconds - when calculating the current response time percentile |
PERCENTILES_TO_REPORT | The list of response time percentiles to be calculated & reported |