Jmeter 控制bzm-并发线程组中的样本数
我正在尝试使用ApacheJMeter作为测试工具来确定端点的吞吐量。Jmeter 控制bzm-并发线程组中的样本数,jmeter,jmeter-4.0,Jmeter,Jmeter 4.0,我正在尝试使用ApacheJMeter作为测试工具来确定端点的吞吐量。 我需要以每秒n个线程(用户)的速度命中端点,每个线程应该只触发一个请求(示例)。 对于以上我配置了bzm-并发线程组 配置一: 目标并发:100 爬升时间(秒):1 爬坡步数:1 保持目标速率时间(秒):10 配置二: 目标并发:1000 爬升时间(秒):5 爬坡步数:5 保持目标速率时间(秒):60 我所期望的是 A.配置一:10秒内只能触发1000个请求。 B配置二:必须在60秒内触发60000个请求,即1000个/秒。
我需要以每秒
n个线程(用户)
的速度命中端点,每个线程应该只触发一个请求(示例)。对于以上我配置了bzm-并发线程组 配置一:
目标并发:100
爬升时间(秒):1
爬坡步数:1
保持目标速率时间(秒):10
配置二:
目标并发:1000
爬升时间(秒):5
爬坡步数:5
保持目标速率时间(秒):60
我所期望的是
A.配置一:10秒内只能触发1000个请求。
B配置二:必须在60秒内触发60000个请求,即1000个/秒。根据您的测试用例和测试持续时间设置,我认为您正在混淆线程和请求
线程是虚拟用户。线程和请求不一样
提升是所有用户到达您测试的应用程序服务器的时间
请求由采样器模拟,线程是对用户的模拟
请注意-请求总数与吞吐量相关,而执行相同活动的活动线程数与并发性相关
您可以通过在测试计划级别使用来实现您的需求
恒定吞吐量计时器允许您保持服务器的吞吐量(请求/秒)。恒定吞吐量计时器只能暂停JMeter线程,以降低它们的速度以达到目标吞吐量。此外,它只在一分钟内工作,因此您需要正确计算爬升周期,并让您的测试运行足够长的时间
以下是解决办法:
计算实现目标吞吐量所需的线程数。公式是:
RPS*最大响应时间(秒)
使用线程的爬升周期来相应地激活线程
将循环计数值设为“永远”
相应地设置测试持续时间
由于恒定吞吐量计时器以分钟为单位工作,为了实现X
RPS,您必须将“目标吞吐量”值配置为X*60/min
,“基于”值计算吞吐量为“所有活动线程”
例如,如果需要1000转/分,则“目标吞吐量”值应为60000/分
英寸
请查看我在这些线程上的答案,以便更简要地了解您的场景
希望这有帮助 谢谢你的回答,我按照你提到的配置了恒吞吐量定时器。我能够在配置一中实现我想要的请求,问题在于配置二,期望的请求总是像预期的那样低。我预计在60秒内会有1000个线程发出约60K个请求。有没有其他的方法来实现它???是的,我已经在第1点回答了这个问题。要达到如此高的每秒请求数,您需要有足够的线程数。1000个线程不足以实现每分钟60k个请求(1000rpm)。因此,您需要首先通过公式计算,因为它取决于您的应用程序响应时间!请参阅我简要回答这一问题时提供的答案。