Locust学习记录2-locust用户类学习【HttpUser,wait_time,weight和fixed_count属性】

news2024/11/19 3:16:36

HttpUser

每个模拟用户定义的类,都必须继承HttpUser,目的时为每个用户提供一个client属性,该属性是一个实例HttpSession,可用于向我们要进行负载测试的目标系统发出HTTP请求

当测试开始时,locust将为它模拟的每个用户创建一个此类的实例,并且每个用户都将开始再他们自己的绿色gevent线程中运行

要使文件成文有效的locustfile,它必须至少包含一个继承自User

wait_time

用法一:

示例:wait_time = between(1,5)

释义:模拟用户在每个任务执行后等待1到5秒的时间

用户的wait_time方法可以很容易的每次执行任务执行后引入延迟。如果没有指定wait_time,则下一个任务将在完成后立即执行

constant在固定的时间内

between在最小值和最大值之间的随机事件

constant_throughput确保任务每秒运行(最多)X次的自适应时间

constant_pacing自适应时间确保任务(最多)每X秒运行一次(它是constant——throughput的数学倒数)

用法二:

示例:

        如果您希望Locust在峰值负载下每秒运行500次任务迭代,您可以使用wait_time=constant_throughput(0.1)和5000的用户计数

        等待时间只能限制吞吐量,不能启动新用户来达到目标。因此,在我们示例中,如果任务迭代时间超过10秒,吞吐量将小于500

        等待时间是在任务执行后应用的,因此如果您的生成率/提升率很高,您可能会在提升期间超过目标

        等待时间适用于任务,而不是请求。例如,如果您指定wait_time=constant_throughput(2)并在您的任务执行两个请求,则您的请求率/PRS 将为每个用户4个

用法三:

可直接在类上声明自己的wait_time方法。

例如,下面的User类会休眠一秒,然后两秒,然后三秒,以此类推

class MyUser(User):
    last_wait_time = 0

    def wait_time(self):
        self.last_wait_time += 1
        return self.last_wait_time

    ...

weight属性

如果文件中存在多个用户类别,并没有在命令行中指定用户类别,Locust将生成相同数量的每个用户类别。您可通过命令行参数传递来指定要使用同一locustfile中的哪些用户类:

locust -f locustfile.py webMylocust

如果您希望模拟某种类型的更多用户,您可在这些类上设置权重属性。

举例来说,网络用户的可能性是移动用户的三倍:

示例代码:

class WebUser(User):
    weight = 3
    ...

class MobileUser(User):
    weight = 1
    ...

fixed_count属性

weight和fixed_count属性用法相同,在使用fixed_count属性的情况下,weight属性将被忽略,并且将生成准确计数的用户。

在下面的示例中,将仅生成1个AdminUser实例,以进行一些特定的工作,更准确的控制独立与用户总数的请求计数

class AdminUser(User):
    wait_time = constant(600)
    fixed_count = 1

    @task
    def restart_app(self):
        ...

class WebUser(User):
    ...

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/62919.html

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

相关文章

Java内存模型

TOC Java内存模型 Java内存模型(Java Memory Model,JMM) 是《Java虚拟机规范》中定义的一种用来屏蔽各种硬件和操作系统的内存访问差异,以实现让Java程序在各种平台下都能达到一致性的内存访问效果的一种内存访问模型。从JDK&…

不要再稀里糊涂的使用反射了,四万字带你搞定Java反射(JDK8)

文章目录前言Java反射体系概述类型信息(Type)GenericDeclarationAnnotatedType成员信息(Member)属性信息(Field)构造函数信息(Constructor)方法信息(Method)修…

毕业设计-基于机器视觉的指针式仪表智能识别

目录 前言 课题背景和意义 实现技术思路 实现效果图样例 前言 📅大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科…

C++ 复制构造函数

在讲解 C 的复制构造函数之前这里先明确一个概念,C 的复制构造函数的意思并不是字面上的意思复制一个构造函数,而是有一种专门用于复制内容的构造函数被叫做复制构造函数。 复制构造函数对于 C 来说是非常重要的概念,所以我们必须掌握并牢记…

jsp设备信息查询系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 jsp设备信息查询系统 是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql,使用…

【算法笔记(六)】检索算法

算法笔记(六) 检索算法算法笔记(六)前言一、线性查找1.什么是线性查找2.需求规则3.人工图示演示4.代码实现二、二分查找1.什么是二分查找2.需求规则3.人工图示演示4.代码实现三.插值查找1.什么是插值查找2.需求规则3.人工图示演示4.代码实现四.斐波那契查找1.什么是斐波那契查找…

[附源码]计算机毕业设计基于springboot框架的资产管理系统设计与实现

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

TCP三次握手四次挥手及常见问题解决方案

一、重要概念 位码即tcp标志位,有6种表示: SYN(synchronous建立连接) ACK(acknowledgement 表示响应、确认) PSH(push表示有DATA数据传输) FIN(finish关闭连接) RST(reset表示连接重置) URG(urgent紧急指针字段值有效) 二、三次握手四次挥手流程图 三、三次握手 第一次握手&am…

一段有关MPU配置代码的几个小疑问

当我们阅读一些STM32F7或STM32H7系列芯片例程,或者基于这两类芯片通过cubeMx进行配置并用到MPU功能时,往往会在代码里看到下面这段MPU配置。对这段代码可能有人有些疑问,这里重点一起聊聊其中的3个,供参考。第一个疑问&#xff0c…

【AI工程论文解读】04-通过Ease.ML/CI实现机器学习模型的持续集成(上)

作者:王磊 更多精彩分享,欢迎访问和关注:https://www.zhihu.com/people/wldandan 持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多…

机器人xacro设计+gazebo/rviz启动

机器人xacro设计gazebo/rviz启动项目需求方案机器人的本体设计机器人本体集成car_gazebo.xacroinertial惯性矩阵 head.xacro小车底盘base.xacro摄像头camera.xacro雷达laser.xacro机器joint关节控制器传感器sensor设计机器人joint关节控制器move.xacro摄像头传感器camera_senso…

Metabase学习教程:系统管理-7

使用MetabaseAPI MetabaseAPI简介。 本文介绍如何使用Metabase的API。我们自己使用该API连接前端和后端,因此您可以编写Metabase几乎可以执行的所有操作。 警告:MetabaseAPI可能会更改 开始之前有两个注意事项: API可能会更改。API与前端…

软件测试要学会哪些东西才能拿2w+的工资?

软件开发人员的月薪达到2万还是比较轻松的,但是软件测试人员想要月薪过万的话,我认为可以从两个方面去考虑: 1. 一种就是项目的测试负责人:测试人员需要对软件的整体性能改进提出建设性方案,所以很多软件测试人员最终…

数据结构和算法之《栈》详解

标题:栈的思路及代码实现 作者:Ggggggtm 寄语:与其忙着诉苦,不如低头赶路,奋路前行,终将遇到一番好风景 文章目录: 一、栈的概念及结构 1、1 栈的概念 1、2 栈的结构 二、栈的思路及代码实现详解…

电脑技巧:推荐5个非常实用的软件

❤️作者主页:IT技术分享社区 ❤️作者简介:大家好,我是IT技术分享社区的博主,从事C#、Java开发九年,对数据库、C#、Java、前端、运维、电脑技巧等经验丰富。 ❤️个人荣誉: 数据库领域优质创作者🏆&#x…

uniapp 之使用 u-upload 组件来实现图片上传

uniapp 之使用 u-upload 组件来实现图片上传前言一、官方示例用法分析二、关闭自动上传,使用手动上传的方式,代码html 代码js 代码css 代码总结分析前言 在使用 uniapp 开发的微信小程序中使用了图片上传功能,使用了 uniapp 的图片上传组件 注意:我这里后端接口接收…

小程序开发平台

小程序开发平台顾名思义就是一个可以开发小程序的地方。 小程序开发平台:【电脑浏览器输入3M.FKW.COM了解详情】 适合群体:企业、机构、个体户 小程序开发方式: 自建——可以通过套用小程序模板,利用拖拽式小程序开发工具&…

某组态软件工程文件加密机制探究

某组态软件工程文件加密机制探究 前言 在工业自动化控制领域,组态软件是数据采集与过程控制的专用软件,是实现人机交互必不可少的工具。工程设计人员使用组态软件在PC机上进行工程画面组态的编辑,然后把编译后的组态逻辑通过以太网或串口下载…

HSRP协议(思科私有)/VRRP协议(公有)

数据来源 1、HSRP热备份路由协议(备份网关) 出现背景: 如下图一个公司拉两条网线一条用来备份网关是192.168.0.253,平时用的网关是254,如果网关是254的这条网线出问题了就可以使用备份不影响公司让人员上网&#xff…

2022最新版 Java 学习线路图

第 1 阶段 - 企业级开发 - java 基础 学习掌握本阶段的内容,可以实现诸如迅雷下载软件、QQ 聊天客户端、中小网站,例如:小型旅游网站、小型电商网站的开发 第 2 阶段 - 企业及开发 - 基础框架 学习掌握本阶段内容,可以快速、规范的…