性能测试: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(spawn1,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.comlocust --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.mzph.cn/diannao/54052.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux 基础入门操作-实验一 GCC使用

Linux 基础入门 前言 1 串口登录 本次登录可以采用串口登录&#xff0c;用usb线接入到系统&#xff0c;利用串口平台进行登录&#xff1b; 2 网口登录 2.1 路由器转接 电脑和开发板都接入路由器&#xff0c;路由器自动分开ip地址&#xff1b; 利用ipscan这个软件&#xf…

mysql DBA常用的sql

是否一般查询日志&#xff0c;默认关闭 show variables like ‘general_log’; 是否开启慢日志查询 默认关闭 show global variables like ‘slow_query_log’; 开启慢日志查询 SET GLOBAL slow_query_log ‘ON’; 默认是10 单位s SELECT long_query_time; 设置超过1s就算…

maya-vray渲染蒙版

要用一个叫vrayMulWrapper的材质球&#xff0c;把alpha Conterbution调到-1&#xff0c;勾选matte surface启用蒙版物体。

VLDB 超级大表上没有index 还需要gather statistics吗?

文档指明这个问题不属于DBA的问题,而是属于DW的问题,超大表的情况,statistics 要分析,而且不能留给夜晚的job去跑。 Do I need to gather statistics on an Oracle table that has no index? I have an Oracle 11g DB, and some of the tables are truncated and re-impo…

【GESP】C++一级练习BCQM3005,基本输出语句printf

一道基础练习题&#xff0c;练习基本输出语句printf。 BCQM3005 题目要求 描述 输出表达式1234∗5678的结果。 输入 无 输出 1234∗56787006652 输入样例 无 输出样例 1234 * 5678 7006652 全文详见个人独立博客&#xff1a;https://www.coderli.com/gesp-1-bcqm3005/ 【…

在树莓派上构建和部署 Node.js 项目

探索在Raspberry Pi上构建和部署Node.js项目的最佳实践。通过我们的专业提示和技巧&#xff0c;克服常见挑战&#xff0c;使您的项目顺利运行。 去年圣诞节&#xff0c;我收到了一份极其令人着迷的礼物&#xff0c;它占据了我许多周末的时间&#xff0c;甚至让我夜不能寐。它就…

零基础考过软考信息系统项目管理师经验分享

选择适合的课程&#xff1a;如果你是零基础&#xff0c;建议找一些专门针对新手的课程&#xff0c;讲解通俗易懂。 刷题至关重要&#xff1a;软考的题库很庞大&#xff0c;多做题是必须的。 做好笔记和复习&#xff1a;上课时要做好笔记&#xff0c;课后及时复习&#xff0c;…

网络安全学习(二)初识kali

kali有两种界面模式&#xff0c;为了更好的适应windows用户&#xff0c;需要操作一下。 先更新一下kali&#xff0c;执行命令 sudo apt-get update 然后换界面 sudo apt install kali-desktop-gnome 等待&#xff0c;出现如下界面时&#xff0c;选择gdm3&#xff08;键盘&a…

Mybatis中Like模糊查询三种处理方式

目录 Mybatis中Like模糊查询三种处理方式 1.通过单引号拼接${} 1&#xff09;mapper接口 2&#xff09;Mapper.xml 3&#xff09;测试代码 4) 测试结果 2.通过concat()函数拼接(个人推荐使用这种) 1&#xff09;mapper接口 2&#xff09;Mapper.xml 3&#xff09;测试代码 4) 测…

jvm学习记录01

目录标题 jvm和java的体系结构架构模型jvm生命周期启动执行结束 hotspot jvm和java的体系结构 架构模型 1基于栈的指令集架构2基于寄存器的指令集架构 两者区别&#xff1a; 基于栈式架构的特点 设计和实现更简单&#xff0c;适用于资源受限的系统; 避开了寄存器的分配难题:…

Requests-HTML模块怎样安装和使用?

要安装和使用Requests-HTML模块&#xff0c;您可以按照以下步骤进行操作&#xff1a; 打开命令行界面&#xff08;如Windows的命令提示符或Mac的终端&#xff09;。 使用pip命令安装Requests-HTML模块。在命令行中输入以下命令并按回车键执行&#xff1a; pip install request…

工厂模式(一):简单工厂模式

一、概念 顾名思义&#xff0c;带着工厂&#xff0c;两字肯定就是有标准、快速、统一等等一些工厂独有的特点。 那么什么是简单工厂模式呢&#xff1f; 定义&#xff1a;简单工厂模式是一种创建对象的设计模式&#xff0c;它定义了一个工厂类通过某个静态方法来生成不同类型的…

熵权法详细讲解+Python代码实现

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…

C#/.NET/.NET Core技术前沿周刊 | 第 5 期(2024年9.9-9.15)

前言 C#/.NET/.NET Core技术前沿周刊&#xff0c;你的每周技术指南针&#xff01;记录、追踪C#/.NET/.NET Core领域、生态的每周最新、最实用、最有价值的技术文章、社区动态、优质项目和学习资源等。让你时刻站在技术前沿&#xff0c;助力技术成长与视野拓宽。 欢迎投稿&…

油烟净化器选购指南:高效净化与优质服务并存的选择

我最近分析了餐饮市场的油烟净化器等产品报告&#xff0c;解决了餐饮业厨房油腻的难题&#xff0c;更加方便了在餐饮业和商业场所有需求的小伙伴们。 随着环保政策的不断强化和人们对健康生活环境的追求&#xff0c;油烟净化器已经成为餐饮行业和家庭厨房的必备设备。然而&am…

Docker安装mysql安装nginx安装Redis

Docker安装mysql 下载镜像 docker pull mysql:8.0注意,使用此方法安装镜像需要提前配置镜像源,详情看之前的文章 安装 docker run -d -p 3306:3306 \ --name mysql \ --restartalways \ --privilegedtrue \ -e TZAsia/Shanghai \ -e MYSQL_ROOT_PASSWORDroot \ mysql:8.0进…

[网络]https的概念及加密过程

文章目录 一. HTTPS二. https加密过程 一. HTTPS https本质上就是http的基础上增加了一个加密层, 抛开加密之后, 剩下的就是个http是一样的 s > SSL HTTPS HTTP SSL 这个过程, 涉及到密码学的几个核心概念 明文 要传输的真正意思是啥 2)密文 加密之后得到的数据 这个密文…

【南方科技大学】CS315 Computer Security 【Lab2 Buffer Overflow】

目录 引言软件要求启动虚拟机环境设置禁用地址空间布局随机化&#xff08;ASLR&#xff09;设置编译器标志以禁用安全功能 概述BOF.ctestShellCode.c解释 createBadfile.c 开始利用漏洞在堆栈上查找返回地址 实验2的作业 之前有写过一个 博客&#xff0c;大家可以先看看栈溢出…

【裸机装机系列】2.kali(ubuntu)-裸机安装kali并进行磁盘分区-2024.9最新

【前言】 2024年为什么弃用ubuntu,请参考我写的另一篇博文&#xff1a;为什么不用ubuntu&#xff0c;而选择基于debian的kali操作系统-2024.9最新 【镜像下载】 1、镜像下载地址 https://www.kali.org/get-kali/选择installer-image&#xff0c;进入界面下载相应的ISO文件 我…

【Android 13源码分析】WindowContainer窗口层级-2-构建流程

在安卓源码的设计中&#xff0c;将将屏幕分为了37层&#xff0c;不同的窗口将在不同的层级中显示。 对这一块的概念以及相关源码做了详细分析&#xff0c;整理出以下几篇。 【Android 13源码分析】WindowContainer窗口层级-1-初识窗口层级树 【Android 13源码分析】WindowCon…