首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Locust中控制任务集执行中的客户端?

如何在Locust中控制任务集执行中的客户端?
EN

Stack Overflow用户
提问于 2017-09-20 12:04:44
回答 2查看 1.5K关注 0票数 2
  1. 是否有任何方法来获取任务集类中当前执行的客户端信息?我们可以在Jmeter中得到螺纹号码。这样我们能在Locust工具中得到客户号码吗?
  2. 假设我正在用5个客户机执行这20个请求。我可以说每个客户端都在执行4个请求(20/5 =每个请求4)吗?使用5个客户端执行这20个请求的内部机制是什么?
  3. 这个问题与问题: 2中给出的数据有关,即执行是按迭代方式进行的。与第一次迭代一样,客户端1、2、3、4和5分别执行请求1、2、3、4和5。下一次迭代,客户机1、2、3、4和5分别执行请求6、7、8、9和10。如何在蝗虫工具中实现这种执行机制。是可能的吗? 请帮助我澄清上述问题。
EN

回答 2

Stack Overflow用户

发布于 2017-09-21 11:22:24

  1. 我不认为它有内在的支持。您可以在on_start方法中自己设置一个id
  2. 每个蝗虫将在前一个任务完成后触发一个新任务(考虑到等待期)。如果您的响应时间有很小的变化,您可以假设请求是均匀分布的。
  3. 不,蝗虫是一个接一个地挑选任务,但没有等待轮到他们。当蝗虫可用时,它将选择一个任务并执行它。我认为没有人支持你的要求。
票数 1
EN

Stack Overflow用户

发布于 2017-09-21 14:21:58

是否有任何方法来获取任务集类中当前执行的客户端信息?

目前还没有。当协调器创建客户端时的发送给客户端的数据不包括。但是,这个行为已经被请求了几次。

假设我正在用5个客户机执行这20个请求。我可以说每个客户端都在执行4个请求(20/5 =每个请求4)吗?使用5个客户端执行这20个请求的内部机制是什么?

这个问题有错误的假设。

每个蝗虫都有一个最小和最大重量时间,它决定任务之间等待的时间。

每个蝗虫根据任务加权和这个间隔随机选择任务。“用5个客户机执行20个请求”的控制意味着Locust将启动5个客户端,一旦收到20个请求的结果,就会终止。

这是可能的,取决于您的电话需要多长时间,它们将被平均分配。或者,大部分可以由一个客户完成。

这个问题与问题中给出的数据有关: 2,执行是按迭代方式进行的。与第一次迭代一样,客户端1、2、3、4和5分别执行请求1、2、3、4和5。下一次迭代,客户机1、2、3、4和5分别执行请求6、7、8、9和10。如何在Locust工具中实现这种执行机制。这个是可能的吗?

您可以将任务集嵌套在一起。但是在Locust框架中,“迭代”的概念并没有真正的意义。蝗虫是设计用来处理随机挑选和创造任务的基础上的权重。

如果您的目标是显式迭代,在其中运行一组任务,然后转移到下一次迭代,以运行不同的任务,您会发现Locust并不真正支持这个用例。

您可以通过写信给你自己的客户来完成这一任务,并根据需要手动触发事件,但是,如果您根本不想以一种不打算使用Locust的方式使用Locust,那么我不确定这种开销是否值得。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46321590

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档