首页 > 解决方案 > 蝗虫负载测试陷入无限循环

问题描述

我对使用 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"

谢谢。

标签: pythonpython-3.xpython-2.7load-testinglocust

解决方案


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

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


推荐阅读