美文网首页测试小记
locust 分布式提取参数不重复

locust 分布式提取参数不重复

作者: Gakki0725 | 来源:发表于2021-11-17 10:14 被阅读0次
作者:Gakki

前言

  • 在使用 Locust 进行分布式的时候,每一个 worker 都会产生一个队列Queue,这也会导致每个脚本读取的参数文件都是一样。例如,压测的时候 Token 会被多次使用。但我们希望的是,每个参数在压测的时候只被使用一次。如何解决这问题?
  • 我想到的是:
    1. 在逻辑不复杂、节点不多的情况下,修改每一个 worker 脚本读取不同位置的参数即可。也就是将压测脚本复制 N 份,然后每份压测脚本读取不同位置的参数。
      例如:worker1 读取第 1 行到第 1000 行的数据,worker2 读取第 1001 行到 2000 行数据。
    2. 如果业务逻辑复杂,并且并发量比较大。那么改脚本就比较麻烦。这时候可以结合 Redis 来读取数据。节点脚本从 Redis 队列里来获取数据即可。

1. 通过脚本读取不同位置的参数

from locust import task, TaskSet, HttpUser, between
import queue
class TestCase(TaskSet):
    def on_start(self):
        pass
    @task
    def case_test(self):
        get_data = self.user.data_list.get()  # 从队列里取
class WebUser(HttpUser):
    tasks = [TestCase]
    wait_time = between(0.8, 1)
    data_list = queue.Queue()
    # 每个 worker 获取不同的数据
    with open("token.txt", "r") as file:
        # 读取第 1 行到 1000 行的数据
        file_list = file.readlines()[0:1000]
    for msg in file_list:
        temp_list = msg.split(",")
        datas = {
            "token": temp_list[0].replace('\n', '')
        }
        data_list.put_nowait(datas)

相关文章

  • locust 分布式提取参数不重复

    作者:Gakki 前言 在使用 Locust 进行分布式的时候,每一个 worker 都会产生一个队列Queue,...

  • locust 压测入门 - 2

    分布式使用 如果要使用多进程/分布式的形式来进行压测,启动时需要增加以下参数: 主:locust -f test....

  • Locust 分布式压力测试

    作者:Gakki 1. Locust 分布式场景 Locust 分布式场景分为两种:单台机器设置 Master 和...

  • 性能测试工具Locust使用指南(三)

    前文目录:性能测试工具Locust使用指南(一)性能测试工具Locust使用指南(二) 分布式运行Locust 如...

  • Locust性能测试

    一、Locust简介 Locust是使用Python开发的支持分布式的一款开源压力测试工具,Locust在测试时,...

  • locust 性能测试

    locust简介 Locust是使用Python开发的支持分布式的一款开源压力测试工具,Locust在测试时,会产...

  • Locust:一个分布式负载测试工具

    Locust简介 Locust是一个简单易用的分布式负载测试工具,主要用来对网站进行负载压力测试。 Locust特...

  • Locust 官方文档 1: What is Locust?

    什么是 Locust(蝗虫)? Locust 是一款易于使用的分布式用户负载测试工具。它旨在对 web 系统(或其...

  • locust实例

    一、示例代码: 这里我们定义了许多Locust任务,它们是带有一个参数(Locust类实例)的普通Python c...

  • locust

    一、locust简介 Locust,是一款易于使用的分布式用户负载测试工具。它用于对网站(或其他系统)进行负载测试...

网友评论

    本文标题:locust 分布式提取参数不重复

    本文链接:https://www.haomeiwen.com/subject/ukobzltx.html