当前位置: 首页 > 知识库问答 >
问题:

如何在蝗虫中为每个用户类分配固定数量的用户

濮阳翔
2023-03-14

假设我有3个独立的用户类。我想为每个类分配固定数量的用户。我的代码如下。

class User_1(TaskSet):
    # I need 3 users to execute the tasks within this user class

class User_2(TaskSet):
    # I need only 1 user to execute the tasks within this user class

class User_3(TaskSet):
    # I need only 1 user to execute the tasks within this user class


class API_User_Test(HttpUser):
    #I already tried weighting the classes as below.
    tasks = {Site_User_1: 3, User_2: 1, User_3: 1}

我已经尝试过对这些类进行加权,如上面的代码所示。但它不起作用。有时,它会为类用户\u 2类用户\u 3分配多个用户。有人能告诉我如何解决这个问题吗。

共有1个答案

厉令
2023-03-14

蝗虫的权重只是一个统计权重,不能保证。权重确定任务/用户被放入列表中的次数,以便从中进行选择。当新任务/用户产生时,蝗虫会从列表中随机选择一个任务。考虑到你的体重:

tasks = {Site_User_1: 3, User_2: 1, User_3: 1}

从统计学上讲,产生5个权重为3/1/1的用户会得到3/1/1,但可能不是每次都那么精确。虽然可能性较小,但你可能会得到4/0/1或3/2/0或5/0/0。

从蝗虫文件:

如果将“任务”属性指定为列表,则每次执行任务时,都将从“任务”属性中随机选择该任务。但是,如果任务是一个dict(可调用项作为键,整数作为值),则将随机选择要执行的任务,但整数作为比率。因此,对于这样一个任务:

{my_task: 3,another_task: 1}

my_task被处决的可能性是another_task的3倍。

在内部,上述dict实际上将扩展为一个列表(任务属性将更新),如下所示:

[my_taskmy_taskmy_taskanother_task]

然后使用Python的random.choice()从列表中选择任务。

如果您必须完全控制用户正在运行什么,我可能会建议让一个蝗虫用户执行一个任务,该任务包含您自己关于运行什么的逻辑。创建您自己的函数列表,以便在每次创建新用户时调用和迭代它。可能必须是用户外部的全局或其他内容。但想法是你自己管理逻辑,而不是蝗虫。

编辑:如果在多个工作进程上运行,则使用单用户方法控制正在运行的内容将无法正常工作,因为这些工作进程彼此不通信。你可以考虑做一些更高级的事情,比如在主机和工人之间发送消息来协调,或者使用一个外部源,比如数据库或其他服务人员,以了解他们应该运行什么。

 类似资料:
  • 首先,我指定用户帐户1500,spawrate1,这将需要25分钟,然后我希望在900秒内每秒减少1。我如何模拟这种情况?

  • 我需要从一个Hive表中读取数据并将其插入到另一个Hive表中。两个表的架构是相同的。该表按日期分区 步骤1:从Spark的源表中读取数据。 第 2 步:按列(国家、日期)和分区数重新分区为 4。 我只得到每个国家代码1个分区

  • 在Apache Spark中, -允许将RDD精确划分为分区。 而是如何将给定的RDD划分成分区,使得所有分区(最后一个分区除外)都具有指定数量的元素。鉴于RDD元素的数量是未知的,做<代码>。count()的开销很大。 预期:

  • 我提供的用户数=12,孵化率=2。我怎么能得到用户ID(s)的所有用户打我的网页,因为我想做一些自定义的对象名称的基础上得到创建(如文章标题)。 如何在创建新文章时传递用户信息(比如用户id)。因此,如果我对12个用户运行一个测试,我就会知道文章是由某个用户创建的。

  • 我目前正在使用环境变量向负载测试传递自定义参数。例如,我的测试类如下所示: 然后,我将使用以下工具运行测试: 有没有更多的方式可以将自定义参数传递给命令行应用程序?

  • 我已经在c中创建了kafka消费者,并创建了一个具有10个分区的主题,当我尝试使用消费者读取数据时,它仅从2个分区读取,然后说没有更多的消息。我尝试使用这两种方法,即订阅和分配,但它们都不起作用。我应该如何将所有10个分区分配给单个使用者,这是将分区分配给使用者的正确方法吗?我已经使用此存储库构建了自定义消费者 https://github.com/edenhill/librdkafka/blob