性能测试---locust的用户类、属性

5 篇文章 0 订阅
4 篇文章 0 订阅

一、用户类

locust 是一个Python 模块,它可以从其他文件或包中导入,用户类,代表一个用户

class StartUser(HttpUser):

当开始负载测试时,将为每个模拟用户创建一个User类的实例,并且它们将开始在自己的绿色线程中运行。这些用户运行时,他们选择执行的任务,休眠一会儿,然后选择一个新任务,依此类推

二、属性

1.wait_time

模拟用户在执行任务之间等待多长时间,应返回秒数

代码如下(示例):

wait_time = between(1, 5)

设置时间的3个函数:

between 模拟用户在每次执行每一个任务后等待介于最小值和最大值之间的随机时间
constant 用于确保任务每秒运行(最多)X 次的自适应时间
constant_pacing 用于确保任务每 X 秒(最多)运行一次的自适应时间

2.task

可以使用@task装饰器,声明用户类下的方法为任务,@task是 locust的核心

3.weight

如果文件中存在多个用户类,并且在命令行上没有指定用户类,Locust 将生成相同数量的每个用户类,weight为不同的用户类赋予不同的运行数量

4.host

要加载的主机,即URL前缀“ http://google.com ”
通常,启动时在Locust的Web UI,或命令行中使用–host指定
如果在用户类中声明了主机属性,则–host 在命令行或Web请求中未指定任何主机属性的情况下将使用该属性

5.environment

环境属性,对用户正在其中运行的引用,使用它与环境或runner所包含的环境进行交互

三、应用

import time
from locust import HttpUser, task, between

class StartUser(HttpUser):
    wait_time = between(1, 5)

    @task
    def hello_world(self):
        self.client.get("/hello")
        self.client.get("/world")

    @task(3)
    def view_items(self):
        for item_id in range(10):
            self.client.get(f"/item?id={item_id}", name="/item")
            time.sleep(1)

    def on_start(self):
        self.client.post("/api/v1/login",{"username": "admin","password": "admin123"})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值