testing - JMeter - 长时间均匀地执行样本

标签 testing jmeter load-testing

我想执行一个只有 1 个线程组的测试。 我想运行 n 个不同的线程。假设测试需要 1 秒,那么我可以设置 threads = n 和 ramp up = 1,loop = 1。我的想法是,如果我想让测试运行更长时间,我应该增加 ramp up 秒数并提高按相同比例循环的次数。我在这里读到这个想法:

http://www.testingjournals.com/5-must-know-features-thread-group-jmeter/

在场景 2 的循环部分,它说: 每 5 秒 (100/20) 4 个线程/请求将到达服务器。

但是我不明白是说4个线程平均分布在5秒内,还是每5秒一次发出4个请求。

如果我想测试这个完全相同的测试但时间更长怎么办?我不想要更多线程,因为每个线程都有连接开销。所以我希望相同的 n 个线程在一秒钟内均匀分布地运行,并持续越来越多的秒数。我如何确保相同的线程将被使用并均匀分布在我希望的任何时间范围内?我应该使用恒定吞吐量计时器吗?如果是这样,应该在循环和加速配置中设置什么?

最佳答案

如果您的目标是每秒执行 X 个请求 - 请选择以下测试元素之一:

以上所有都可以暂停 JMeter 线程,以将吞吐量(每单位时间的请求数)限制为给定数量。关于设置线程组:

  • 线程数:它应该足够以达到目标吞吐量。在 Throughput Shaping Timer 的情况下,您可以使用 Concurrency Thread Group并通过 feedback function 连接它们- 在这种情况下,如果当前数量不足以达到/维持所需的每秒请求数,JMeter 将能够自动启动额外的线程
  • 循环:勾选永远
  • 您可以使用线程组中的 Scheduler Configuration -> Duration (seconds) 设置所需的测试持续时间。

关于testing - JMeter - 长时间均匀地执行样本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53725247/

相关文章:

visual-studio - 测试 500 个登录用户,其中 50 个用户实际在做某事

c# - 执行前预编译 C# 方法

c# - 依赖响应 cookie 的集成测试抛出 System.NullReferenceException

performance - 我可以在本地主机上用实际网络环境进行性能测试吗?

java - 纯粹用 Java 创建新的 JMeter 测试并保存为有效的 *.jmx

java - 将字符串中的字符替换为其他字符会产生异常

java - 使用 spring boot 和 kotlin 进行单元/休息测试的艰苦战斗

ruby-on-rails - Rspec::允许每个实例接收消息

regex - 如何使用正则表达式提取器在jmeter中提取json响应数据?

performance-testing - 贝吉塔负载测试 : different body for each POST request in the attack