Multithreading Jmeter-尝试在时间限制内完成线程

Multithreading Jmeter-尝试在时间限制内完成线程,multithreading,performance,jmeter,performance-testing,Multithreading,Performance,Jmeter,Performance Testing,所以我的要求是系统应该能够在1小时内处理10000个请求。因此,这意味着我应该运行一个测试,看看它能以多快的速度处理10k请求(而不是并发用户)。我从来没有做过这样一件事,因为我的要求总是被一致的用户所接受。有人能告诉我使用哪个线程组,以及如何设置它来完成这个特定任务吗。同样,最终的目标不是接触10k并发用户,而是运行10k请求,看看它们能以多快的速度完成。1小时内的10000个请求大约是每分钟166.6个请求或每秒2.7个请求 您可以使用或将JMeter的吞吐量限制在给定的数字内,并查看它是否

所以我的要求是系统应该能够在1小时内处理10000个请求。因此,这意味着我应该运行一个测试,看看它能以多快的速度处理10k请求(而不是并发用户)。我从来没有做过这样一件事,因为我的要求总是被一致的用户所接受。有人能告诉我使用哪个线程组,以及如何设置它来完成这个特定任务吗。同样,最终的目标不是接触10k并发用户,而是运行10k请求,看看它们能以多快的速度完成。

1小时内的10000个请求大约是每分钟166.6个请求或每秒2.7个请求

您可以使用或将JMeter的吞吐量限制在给定的数字内,并查看它是否能够在1小时内完成10k请求

测试运行可能会更短,就好像您看到度量值超过每秒2.7个请求一样-很可能被测试的系统将无法处理负载


一旦您确信您的系统可以在一小时内处理10k请求,您就可以提高吞吐量,查看它是否/在何处/何时中断

1小时内的10000个请求相当于每分钟166.6个请求或每秒2.7个请求

您可以使用或将JMeter的吞吐量限制在给定的数字内,并查看它是否能够在1小时内完成10k请求

测试运行可能会更短,就好像您看到度量值超过每秒2.7个请求一样-很可能被测试的系统将无法处理负载


一旦您确信您的系统可以在一小时内处理10k请求,您就可以提高吞吐量,查看它是否/在何处/何时中断

您需要在3600秒内完成10000个请求

假设(最后一个)请求需要最多100秒,您应该使用定义为最大[ramp up][1]=3500的线程组执行,而线程数=10000

爬升需要足够长,以避免在测试开始时产生过大的工作负载,并且足够短,以使最后一个线程在第一个线程完成之前开始运行

我建议从Ramp up=3500开始,并减少数量,直到请求开始失败

爬升周期告诉JMeter需要多长时间才能“爬升”到所选的全部线程数

另一个选项是使用JMeter插件

配置线程调度的简化方法。它旨在保持并发级别,这意味着如果没有足够的线程并行运行,则在运行时启动其他线程。与标准线程组不同,它不会预先创建所有线程,因此不会使用额外的内存。这是步进线程组的一个很好的补充,因为它允许线程优雅地完成它们的工作

在您的情况下,一小时内没有并发用户:

Target Concurrency = 1 (not concurrent) 

Ramp up Time - 60 (minutes)

Ramp up Steps Count  1

Hold Target Rate Time 60 (minutes)

Thread Iteration Limit 1 (not concurrent) 

您需要在3600秒内完成10000个请求

假设(最后一个)请求需要最多100秒,您应该使用定义为最大[ramp up][1]=3500的线程组执行,而线程数=10000

爬升需要足够长,以避免在测试开始时产生过大的工作负载,并且足够短,以使最后一个线程在第一个线程完成之前开始运行

我建议从Ramp up=3500开始,并减少数量,直到请求开始失败

爬升周期告诉JMeter需要多长时间才能“爬升”到所选的全部线程数

另一个选项是使用JMeter插件

配置线程调度的简化方法。它旨在保持并发级别,这意味着如果没有足够的线程并行运行,则在运行时启动其他线程。与标准线程组不同,它不会预先创建所有线程,因此不会使用额外的内存。这是步进线程组的一个很好的补充,因为它允许线程优雅地完成它们的工作

在您的情况下,一小时内没有并发用户:

Target Concurrency = 1 (not concurrent) 

Ramp up Time - 60 (minutes)

Ramp up Steps Count  1

Hold Target Rate Time 60 (minutes)

Thread Iteration Limit 1 (not concurrent) 

谢谢你的建议,计算我需要多少时间(以秒为单位)作为备份我想知道有没有更聪明的方法告诉jmeter。在1个线程完成后尽可能快地运行这些线程关闭它并继续运行,直到所有线程都完成。添加更多执行选项谢谢你的建议计算我需要多少时间(以秒为单位)是我的备份我想知道是否有更聪明的方法告诉jmeter。一旦有一个线程完成,就尽可能快地运行这些线程,关闭它并继续运行,直到所有线程都完成。添加更多选项以执行