Jmeter 如何发出http请求以发送相同的秒数?

Jmeter 如何发出http请求以发送相同的秒数?,jmeter,Jmeter,有很长一段时间的困扰,如何使三个请求沿着同一秒发送,而不是一个接一个,我知道这个问题可以通过提供多个线程组来解决,但我想知道是否还有其他更好的方法 您可以将HTTP请求示例放入循环控制器中,并将循环设置为所需的次数。这样,您可以在会话保持不变的情况下发送相同数据的多个请求。一个线程不能运行3个请求 如果您运行3个线程-在这种情况下,每个线程将颠倒执行请求 如果需要在同一线程组的范围内执行,可以执行以下操作: 3线程 1个HTTP请求采样器 要根据线程编号动态更改URL和参数,请执行以下操作:

有很长一段时间的困扰,如何使三个请求沿着同一秒发送,而不是一个接一个,我知道这个问题可以通过提供多个线程组来解决,但我想知道是否还有其他更好的方法


您可以将HTTP请求示例放入循环控制器中,并将循环设置为所需的次数。这样,您可以在会话保持不变的情况下发送相同数据的多个请求。

一个线程不能运行3个请求

如果您运行3个线程-在这种情况下,每个线程将颠倒执行请求

如果需要在同一线程组的范围内执行,可以执行以下操作:

  • 3线程
  • 1个HTTP请求采样器
  • 要根据线程编号动态更改URL和参数,请执行以下操作:

    switch (ctx.getThreadNum()) {
        case 0:
            sampler.setDomain("example.com");
            sampler.setName("HTTP Request 1");
            break;
        case 1:
            sampler.setDomain("jmeter.apache.org");
            sampler.setName("HTTP Request 2");
            break;
        case 2:
            sampler.setDomain("jmeter-plugins.org");
            sampler.setName("HTTP Request 3");
            break;
    }
    
    • -同时发出所有3个开火请求


有关在设计负载测试时使用Java和JMeter API克服JMeter限制的全面信息,请参阅

谢谢您的建议,但没有解决问题,现在我使用了一个循环控制器,但启动时间为三个请求是否同步,我想要一个同步的请求。如果你希望所有的请求同时运行,你唯一的选择就是增加线程用户并设置斜坡上升时间到1秒,我也考虑使用这个方法,但是如果有很多HTTPROQUEST,我需要设置多线程用户,这不是以前JMigBigE的消耗吗?也不知道终端组中可以设置多少个线程,不是基于JVM。可以设置的线程数取决于您的机器资源,假设您的jmeter测试很简单,不包含太多的预处理器和后处理器,您可以将线程用户设置为一个高值。我想要的结果是发送这三个请求同步jmeter不能在同一线程内并行运行请求;您可以开发自定义采样器或自定义控制器。我在网上看到了一个实现,但是有人评论说它不起作用:(仍然可以作为一个例子)谢谢你的建议,我会尝试,我认为JMIT官方应该考虑这个要求:谢谢,现在我觉得多个线程组是最简单的方法,但是需要更多的JVM支持,另外想问一下,如果我的计算机是2.2G,我的可用内存分配给2G内存jmeter(jvm),例如:set HEAP=-Xms2000m-Xmx2000m,那么我可以确定线程组的合理数量是多少?期待您的回复我的想法是一个线程组匹配一个请求,例如:threadGroup1-httprequest1 threadGroup2-httprequest2。。。。。。如果有许多这样的请求,则需要大量的线程组,但是内存(jvm)是否能够保持,或者有多少线程可以支持组无论创建多少线程组,开销都是最小的。线程-这才是重要的。还可以查看一些JMeter调优技巧和调整谢谢你的建议