在jmeter上有2个http请求 - 每个50%的时间

时间:2015-11-25 08:09:30

标签: random jmeter httprequest

我试图创建一个发送2个http请求(每个都有不同路径)的jmeter脚本。我设法让它随机发送请求,但我还需要它在50%的时间内发送每个请求。有任何想法吗?

3 个答案:

答案 0 :(得分:1)

  1. 将您的请求划分为2个单独的Thread Groups。在每个线程组中设置相同数量的线程和循环
  2. 在同一个线程组下放置2个请求。添加Throughput Controller作为每个请求的子项,并设置相同的"总执行次数"两个吞吐量控制器的值或在"百分比执行中使用50.0值"模式。
  3. 有关上述方法和更复杂的分发方案的详细信息,请参阅Running JMeter Samplers with Defined Percentage Probability文章。

答案 1 :(得分:0)

选项1:数学

运行大量用户或大量用户,随机挑选。平均而言,这是50%的时间。最容易做到,但不准确。

选项2:替代

使用变量在多个循环的过程中来回交替单个线程。我假设你有某种If Controller用于分割它们。在您的情况下,请使用"${alternating_variable}"=="1"。然后使用Beanshell Postprocessor切换其值:vars.put(alternating_variable,2);。显然,您需要反向其他HTTP RequestIfBeanshell)。有点参与,需要一个线程循环多次。

选项3:由主题号决定

If内,使用${__threadNum}%2!=0${__threadNum}%2==0。这得到线程的数量,除以2,并将余数与0进行比较。任何偶数编号的线程将进入一个If,任何奇数线程将进入另一个。现在它很容易生成,但需要多个线程。也不一定容易理解。

答案 2 :(得分:0)

应用2个吞吐量控制器,将第一个http请求放入第一个吞吐量控制器,将第二个请求放入其他控制器。现在将模式更改为Percent Executions并在吞吐量文本框中传递50

请参阅this  链接了解更多详情