当前位置: 首页 > article >正文

性能测试:Locust使用介绍(三)

配置

Locust的配置,可以通过三种方式进行。第一种是命令行执行选项,第二种是将配置写到环境变量中,第三种是通过配置文件进行配置。

命令行选项

locust --help
Usage: locust [options] [UserClass ...]

常用选项:
  -h, --help            显示帮助消息并退出
  -f <filename>, --locustfile <filename>
  						包含测试的Python文件或模块,
                        例如“my_test.py”。接受多个逗号分隔
                        .py文件、包名/目录或指向的url
                        远程locustfile。默认为“locustfile”。
  --config <filename>   从中读取其他配置的文件。
  -H <base url>, --host <base url>
                        主机负载测试,格式如下:
                        https://www.example.com
  -u <int>, --users <int>
                        并发Locust用户的峰值数量。主要使用
                        与无头或自动启动一起。可以是
                        在测试期间通过键盘输入w、W(spawn
                        1,10个用户)和s,S(停止1,10用户)
  -r <float>, --spawn-rate <float>
                        生成用户的速率为(每秒用户数)。主要是
						与--headless或--autostart一起使用
  -t <time string>, --run-time <time string>
                      	在指定的时间量后停止,例如(300s,
                        20m、3h、1h30m等)。仅与一起使用
                        --headless 或 --autostart。默认为永远运行。
  -l, --list            显示可能的用户类列表并退出
  --config-users [CONFIG_USERS ...]
                        用户配置为JSON字符串或文件。列表
                        参数或JSON配置数组

Web UI 选项:
  --web-host <ip>       将web界面绑定到的主机。默认为“*”
						(所有接口)
  --web-port <port number>, -P <port number>
                        运行web主机的端口
  --headless            禁用web界面,然后立即开始测试。
                        使用-u和-t来控制用户数量和
                        运行时间
  --autostart           立即开始测试(比如--headless,但是
                        不禁用web UI)
  --autoquit <seconds>  完全退出Locust,运行后X秒
                        完成。仅与 --autostart一起使用。这个
                        默认设置是保持Locust运行,直到您按下CTRL+C关闭它
  --web-login           使用登录页面保护web界面。
  --tls-cert <filename>
                        用于提供服务的TLS证书的可选路径
						HTTPS
  --tls-key <filename>  用于提供服务的TLS私钥的可选路径
						HTTPS
  --class-picker        在web界面中启用选择框进行选择
						从所有可用的用户类和形状类

主选项:
在分布式运行Locust时运行LocustMaster节点的选项。主节点需要连接到它的Worker节点,然后才能运行负载测试。

  --master              将locust作为主节点启动,工作节点连接到该节点。
  --master-bind-host <ip>
                        主机监听的IP地址,例如
                        '192.168.1.1'. 默认为*(全部可用接口)。
  --master-bind-port <port number>
                        主机监听的端口。默认为5557。
  --expect-workers <int>
                        延迟开始测试,直到达到此数量的workers
                        (仅与结合使用 --headless/ --autostart)。
  --expect-workers-max-wait <int>
                        master等待workers连接时间。默认为永远等待
  --enable-rebalancing  如果在测试运行期间添加或删除了新的worker,请重新分配用户。
  						实验。

Worker选项:
在分布式运行Locust时运行LocustWorker节点的选项。
通常只需要在workers上指定这些选项(和--locostfile),因为其他选项(-u、-r、-t、…)由主节点控制。

  --worker              将locust设置为以分布式模式运行,并将此进程设置为worker。可以与设置相结合
						--locustfile设置为“-”,以便从master下载。
  --processes <int>     分流 locust 进程的数量,以启用系统。结合--worker标志或让它自动设置--worker和--master标志,
  						以实现一体化解决方案。在 Windows 上不可用。
						实验。
  --master-host <hostname>
                        要连接的locust主节点的主机名。
                        默认值127.0.0.1。
  --master-port <port number>
                        主节点上要连接的端口。默认值为5557。

标记选项:
Locust任务可以使用@tag装饰器进行标记。这些选项允许指定在测试期间包含或排除哪些任务。

  -T [<tag> ...], --tags [<tag> ...]
                        测试中要包含的标签列表,只会执行至少有一个匹配标签的任务
  -E [<tag> ...], --exclude-tags [<tag> ...]
                        要从测试中排除的标签列表,只会执行没有匹配标签的任务

请求统计选项:
  --csv <filename>      将请求统计数据以CSV格式存储到文件中。设置
                        此选项将生成三个文件:
                        <filename>_stats.csv、<filename>_stats_history.csv和
                        <filename>_failures.csv。前缀文件夹部分将自动创建
  --csv-full-history    将每个统计条目以CSV格式存储到
                        _statshistory.csv文件。您还必须指定“--
                        csv”参数来启用此功能。
  --print-stats         在UI运行中启用请求统计数据的定期打印
  --only-summary        禁用请求统计信息的定期打印
                        --headless 运行
  --reset-stats         生成完成后重置统计信息。
						在分布式模式下运行时,应同时在master和worker上设置
  --html <filename>     将HTML报告存储到指定的文件路径
  --json                将JSON格式的最终统计数据打印到stdout。
						可用于解析其他程序/脚本中的结果。
						与--headless和--skip-log一起使用,仅用于json数据的输出。

日志记录选项:
  --skip-log-setup      禁用Locust的日志记录设置。相反,配置是由Locust测试或Python默认值提供的。
  --loglevel <level>, -L <level>
                        在DEBUG/INFO/WARNING/ERROR/CRITICAL之间进行选择。
						默认值为INFO。
  --logfile <filename>  日志文件的路径。如果未设置,日志将转到stderr

其他选项:
  --show-task-ratio     打印用户类任务执行率表。
						如果某些类定义了非零的fixed_count属性,请将其与非零--user选项一起使用。
  --show-task-ratio-json
                        打印User类任务执行率的json数据。
						如果某些类定义了非零的fixed_count属性,请将其与非零--user选项一起使用。
  --version, -V         显示程序的版本号并退出
  --exit-code-on-error <int>
                        设置测试结果包含任何失败或错误时使用的进程退出代码。默认为1。
  -s <number>, --stop-timeout <number>
                        退出前等待模拟用户完成所有执行任务的秒数。
						默认情况是立即终止。当运行分布式时,只需要在主服务器上指定。
  --equal-weights       使用均匀分布的任务权重,覆盖locostfile中指定的权重。

User classes:
  <UserClass1 UserClass2>
                        在命令行末尾,您可以列出要使用的User类(可用的User类可以用--list列出)。
                        LOCUST_USER_CLASS环境变量也可用于指定USER类。
						默认设置是使用所有可用的用户类

示例:

    locust -f my_test.py -H https://www.example.com

    locust --headless -u 100 -t 20m --processes 4 MyHttpUser AnotherUser

有关更多详细信息,包括如何使用文件或环境变量设置选项,请参阅文档:
https://docs.locust.io/en/stable/configuration.html

环境变量

还可以通过环境变量设置选项。它们通常与命令行参数相同,但要求大写并前缀为LOCUST_:

Linux/macOS:

LOCUST_LOCUSTFILE=custom_locustfile.py locust

Windows:

> set LOCUST_LOCUSTFILE=custom_locustfile.py
> locust

配置文件

也可以在配置文件中以config或TOML文件格式设置选项。

Locust默认情况下将查找~/.locat.conf/locost.conf和./pyproject.toml。您可以使用–config标志指定其他文件。

locust --config custom_config.conf

以下是Locust支持的配置文件的一个快速示例:

locust.conf

locustfile = locust_files/my_locust_file.py
headless = true
master = true
expect-workers = 5
host = https://target-system
users = 100
spawn-rate = 10
run-time = 10m
tags = [Critical, Normal]

pyproject.toml

使用TOML文件时,配置选项应在[tool.pacic]部分中定义。

[tool.locust]
locustfile = "locust_files/my_locust_file.py"
headless = true
master = true
expect-workers = 5
host = "https://target-system"
users = 100
spawn-rate = 10
run-time = "10m"
tags = ["Critical", "Normal"]

所有可用的配置选项

以下是所有可用配置选项及其对应的环境和配置文件键的表:

命令行环境变量配置文件描述
-f, --locustfileLOCUST_LOCUSTFILElocustfile包含测试的Python文件或模块,例如“my_test.py”。接受多个逗号分隔的.py文件、包名/目录或远程locostfile的url。默认为“locostfile”。
-H, --hostLOCUST_HOSThost主机负载测试,格式如下:[https://www.example.com](
-u, --usersLOCUST_USERSusers并发Locust用户的峰值数量。主要与无头或自动启动一起使用。在测试过程中,可以通过键盘输入w、W(生成1个10个用户)和s、S(停止1个10用户)进行更改
-r, --spawn-rateLOCUST_SPAWN_RATEspawn-rate生成用户的速率为(每秒用户数)。主要与–headless 或 –autostart一起使用
-t, --run-timeLOCUST_RUN_TIMErun-time在指定时间后停止,例如(300s、20m、3h、1h30m等)。仅与 –headless 或 –autostart一起使用。默认为永远运行。
--config-usersLOCUST_CONFIG_USERSconfig-users用户配置为JSON字符串或文件。可以提供参数列表或JSON配置数组
--web-hostLOCUST_WEB_HOSTweb-host将web界面绑定到的主机。默认为“*”(所有接口)
--web-port, -PLOCUST_WEB_PORTweb-port运行web主机的端口
--headlessLOCUST_HEADLESSheadless禁用web界面,并立即开始测试。使用-u和-t控制用户数和运行时间
--autostartLOCUST_AUTOSTARTautostart立即开始测试(类似–headless,但不禁用web UI)
--autoquitLOCUST_AUTOQUITautoquit运行结束X秒后,完全退出locust。仅与–autostart一起使用。默认设置是保持Locust运行,直到您使用CTRL+C将其关闭
--web-loginLOCUST_WEB_LOGINweb-login使用登录页面保护web界面。请参阅https://docs.locust.io/en/stable/extending-locust.html#authentication
--tls-certLOCUST_TLS_CERTtls-cert用于通过HTTPS提供服务的TLS证书的可选路径
--tls-keyLOCUST_TLS_KEYtls-key用于通过HTTPS提供服务的TLS私钥的可选路径
--class-pickerLOCUST_USERCLASS_PICKERclass-picker在web界面中启用选择框,以便从所有可用的用户类和形状类中进行选择
--masterLOCUST_MODE_MASTERmaster将locust作为主节点启动,工作节点连接到主节点。
--master-bind-hostLOCUST_MASTER_BIND_HOSTmaster-bind-host主机监听的IP地址,例如“192.168.1.1”。默认为*(所有可用接口)。
--master-bind-portLOCUST_MASTER_BIND_PORTmaster-bind-port主机监听的端口。默认为5557。
--expect-workersLOCUST_EXPECT_WORKERSexpect-workers延迟启动测试,直到连接了此数量的工作线程(仅与-headless/-autostart结合使用)。
--expect-workers-max-waitLOCUST_EXPECT_WORKERS_MAX_WAITexpect-workers-max-waitmaster应该等待workers连接超时时间。默认为永远等待
--workerLOCUST_MODE_WORKERworker将locust设置为以分布式模式运行,并将此进程设置为worker。可以与将–locostfile设置为“-”相结合,从master下载它。
--processesLOCUST_PROCESSESprocesses分流locust进程的次数,以启用系统。与-worker标志结合使用,或让它自动设置多功能解决方案的-worker和-master标志。在Windows上不可用。实验。
--master-hostLOCUST_MASTER_NODE_HOSTmaster-host要连接的locust主节点的主机名。默认为127.0.0.1。
--master-portLOCUST_MASTER_NODE_PORTmaster-port主节点上要连接的端口。默认值为5557。
-T, --tagsLOCUST_TAGStags测试中要包含的标签列表,只会执行至少有一个匹配标签的任务
-E, --exclude-tagsLOCUST_EXCLUDE_TAGSexclude-tags要从测试中排除的标签列表,只会执行没有匹配标签的任务
--csvLOCUST_CSVcsv将请求统计数据以CSV格式存储到文件中。设置此选项将生成三个文件:_stats.csv、_stats_history.csv和<filename]_failures.csv。前缀的任何文件夹部分都将自动创建
--csv-full-historyLOCUST_CSV_FULL_HISTORYcsv-full-history将每个统计条目以CSV格式存储到_stats_history.CSV文件中。您还必须指定“–csv”参数才能启用此功能。
--print-statsLOCUST_PRINT_STATSprint-stats在UI运行中启用请求统计数据的定期打印
--only-summaryLOCUST_ONLY_SUMMARYonly-summary在–headless运行期间禁用请求统计数据的定期打印
--reset-statsLOCUST_RESET_STATSreset-stats生成完成后重置统计信息。在分布式模式下运行时,应同时在master和worker上设置
--htmlLOCUST_HTMLhtml将HTML报告存储到指定的文件路径
--skip-log-setupLOCUST_SKIP_LOG_SETUPskip-log-setup禁用Locust的日志记录设置。相反,配置是由Locust测试或Python默认值提供的。
--loglevel, -LLOCUST_LOGLEVELloglevel在DEBUG/INFO/WARNING/ERROR/CRITICAL之间进行选择。默认值为INFO。
--logfileLOCUST_LOGFILElogfile日志文件的路径。如果未设置,日志将转到stderr
--exit-code-on-errorLOCUST_EXIT_CODE_ON_ERRORexit-code-on-error设置测试结果包含任何失败或错误时使用的进程退出代码。默认为1。
-s, --stop-timeoutLOCUST_STOP_TIMEOUTstop-timeout退出前等待模拟用户完成所有执行任务的秒数。默认情况是立即终止。当运行分布式时,只需要在主服务器上指定。

http://www.kler.cn/news/307333.html

相关文章:

  • MoCo对比损失
  • LC并联电路在正弦稳态下的传递函数推导(LC并联谐振选频电路)
  • 带你如何使用CICD持续集成与持续交付
  • 2024网络安全、应用软件系统开发决赛技术文件
  • Go语言现代web开发15 泛型和错误
  • C++中string字符串类型介绍及数组模拟
  • TDengine 与 SCADA 强强联合:提升工业数据管理的效率与精准
  • 如何在 Ubuntu 系统上部署 Laravel 项目 ?
  • 基于JavaWeb开发的Java+SpringMvc+vue+element实现上海汽车博物馆平台
  • [NSSRound#4 SWPU]hide_and_seek-用gdb调试
  • 美团图床设置教程
  • 基于深度学习的自动化农场管理
  • leetcode14.最长公共前缀
  • 鸿蒙 ArkUI组件二
  • 鹏哥C语言36-37---循环/分支语句练习(折半查找算法)
  • RNN股票预测(Pytorch版)
  • 大模型参数高效微调技术原理综述(八)-MAM Adapter、UniPELT
  • Redhat 8,9系(复刻系列) 一键部署Oracle23ai rpm
  • 模型训练的过程中对学习不好的样本怎么处理更合适
  • Qt4Qt5Qt6版本下载(在线和离线)
  • C++ | Leetcode C++题解之第405题数字转换为十六进制数
  • 文本分类实战项目:如何使用NLP构建情感分析模型
  • Element-ui el-table 全局表格排序
  • 腾讯云软件工程师面试问题收集记录-数据库
  • redis简单使用与安装
  • Java并发:互斥锁,读写锁,Condition,StampedLock
  • shopify主题开发之template模板解析
  • C++学习笔记----7、使用类与对象获得高性能(一)---- 书写类(3)
  • 蓝桥杯-基于STM32G432RBT6的LCD进阶(LCD界面切换以及高亮显示界面)
  • 【AIGC】CFG:基于扩散模型分类器差异引导