蝗虫负载测试陷入无限循环

Posted

技术标签:

【中文标题】蝗虫负载测试陷入无限循环【英文标题】:Locust Load Testing running into infinite loop 【发布时间】:2020-10-08 06:36:32 【问题描述】:

我对使用 Locust 负载测试的 Python 非常陌生。 我创建了下面的 Python 脚本,但它进入了无限循环。 我用过 要模拟的总用户数 = 1 生成率 = 1

请告诉我哪里出错了。

from locust import HttpUser, task, between, TaskSet


class Behaviour(TaskSet):

    @task
    def first_task(self):
        self.client.get('/LoginHome.aspx')
 
class WebsiteTestUser(HttpUser):
    tasks = [Behaviour]
    wait_time = between(5, 15)
    host = "http://DEV/LoadTesting"

谢谢。

【问题讨论】:

【参考方案1】:

看起来你并没有做错什么。我假设“无限循环”是指你告诉它生成 1 个用户,然后一个用户启动,但是你会收到重复请求到你在任务中定义的端点,直到你停止 Locust。

这是设计使然。当一个 Locust 用户完成其任务时,会在其位置生成一个新用户。 Locust 将尝试无限期地保持指定数量的用户运行。作为负载测试工具,您不会告诉它运行定义的任务 X 次,而是从头到尾定义一个用户流程,然后告诉它您要在您正在测试的系统上投放的用户数量确保/了解您的系统是否可以处理您想要的负载。

【讨论】:

以上是关于蝗虫负载测试陷入无限循环的主要内容,如果未能解决你的问题,请参考以下文章

带有文件的蝗虫测试有效负载

如何在分布式蝗虫负载测试中提高 RPS

locust性能测试安装

负载/压力测试角度应用程序

通过简单的 akka-http 路由测试与演员陷入无限循环

Locust性能测试1-环境准备与基本使用