Performance 我应该如何计算Jmeter中的爬升时间

Performance 我应该如何计算Jmeter中的爬升时间,performance,jmeter,performance-testing,load-testing,Performance,Jmeter,Performance Testing,Load Testing,这里有许多问题/答案可以用来理解启动时间,但我想为我的测试用例获得一些细节 测试用例:主页上预期每5分钟有1200个用户。所以它将是5个用户/秒 我设置了以下线程属性: 有人能帮我设置测试用例的启动时间吗?我正在本地机器上运行测试 我想检查服务器在5分钟内可以处理多少用户。我们的期望是1200个用户。Rampup是用户到达应用程序的速度。 您输入的数字意味着一旦达到该数字,所有线程都已启动。 它越小,用户到达的速度就越快。 所以没有人能为你回答这个问题,你需要分析你的流量 关于线程的数量,120

这里有许多问题/答案可以用来理解启动时间,但我想为我的测试用例获得一些细节

测试用例:主页上预期每5分钟有1200个用户。所以它将是5个用户/秒

我设置了以下线程属性:

有人能帮我设置测试用例的启动时间吗?我正在本地机器上运行测试


我想检查服务器在5分钟内可以处理多少用户。我们的期望是1200个用户。

Rampup是用户到达应用程序的速度。 您输入的数字意味着一旦达到该数字,所有线程都已启动。 它越小,用户到达的速度就越快。 所以没有人能为你回答这个问题,你需要分析你的流量

关于线程的数量,1200个线程可能不是一个好的数字,因为1200个用户可以缓慢或快速地在应用程序上导航。
您需要添加一个恒定的吞吐量计时器来控制每秒将达到的事务量。

Rampup是用户到达应用程序的速度。 您输入的数字意味着一旦达到该数字,所有线程都已启动。 它越小,用户到达的速度就越快。 所以没有人能为你回答这个问题,你需要分析你的流量

关于线程的数量,1200个线程可能不是一个好的数字,因为1200个用户可以缓慢或快速地在应用程序上导航。 您需要的是添加一个恒定吞吐量计时器,以控制每秒将达到的事务量。

您应该使用标准集中提供的终极线程组插件。 要保持并发性,配置应如下所示:

Start Thread Count: 1200
Initial delay, sec: 0
Startup, sec: 60
Hold Load: 180
Shutdown Time, sec: 60
极限螺纹组

在这里,所有1200个线程都将在启动时间的60秒内生成并启动。这1200个线程将在接下来的180秒内处于活动状态,之后,这些线程将在接下来的60秒内关闭

所以测试的总持续时间是300秒,如您所愿。在整个保持加载时间180秒内,请求将被循环。 这个终极线程组将使您对线程有更多的控制

现在,如果要控制每秒事务的速率或要执行的样本数,可以使用恒定吞吐量计时器。恒定吞吐量计时器将允许您控制要发送的请求流。默认线程组仅控制生成用户或线程的方式。它不控制应用程序中的请求速率。因此,您可以使用恒定吞吐量计时器控制每秒的请求。要了解更多详细信息,您可以浏览JMeter。

您应该使用标准集中提供的终极线程组插件。 要保持并发性,配置应如下所示:

Start Thread Count: 1200
Initial delay, sec: 0
Startup, sec: 60
Hold Load: 180
Shutdown Time, sec: 60
极限螺纹组

在这里,所有1200个线程都将在启动时间的60秒内生成并启动。这1200个线程将在接下来的180秒内处于活动状态,之后,这些线程将在接下来的60秒内关闭

所以测试的总持续时间是300秒,如您所愿。在整个保持加载时间180秒内,请求将被循环。 这个终极线程组将使您对线程有更多的控制

现在,如果要控制每秒事务的速率或要执行的样本数,可以使用恒定吞吐量计时器。恒定吞吐量计时器将允许您控制要发送的请求流。默认线程组仅控制生成用户或线程的方式。它不控制应用程序中的请求速率。因此,您可以使用恒定吞吐量计时器控制每秒的请求。关于进一步的细节,您可以通过JMeter来了解。

根据您的测试用例和持续时间设置,我认为您正在混淆线程和请求

简而言之:在这种情况下,您必须使用240秒的爬升时间

让我详细描述一下你:

Ramp up是所有用户到达经过测试的应用程序服务器的时间

请求由采样器模拟,而线程是用户的模拟

请注意-请求总数与吞吐量相关,而执行相同活动的活动线程数与并发性相关

根据您的需求,我假设您想要测量与每秒请求数相关的吞吐量,而不是与每秒用户数相关的吞吐量。为了实现这一点,您可以在测试计划级别使用

恒定吞吐量计时器允许您保持每秒服务器请求的吞吐量。这里是取样器。线程是使用采样器请求服务器的用户/客户端

您可以通过使用线程组或最终线程组来实现这一点

据我所知,在t的末尾,使用恒定吞吐量计时器时使用哪种类型的线程组并不重要 他在测试结果中,您将获得您在恒定吞吐量计时器中提到的期望吞吐量,即,如果您在恒定吞吐量计时器中提到1200/min,并将基于值计算吞吐量作为所有活动线程,并且您的线程组中有3个请求采样器,那么JMeter将以仅生成6.6的方式管理请求每个采样器的请求/秒(即1200/分钟)分为3个请求,无论您使用的是最终线程组还是线程组;吞吐量计时器对所有类型的线程组都以相同的方式工作

现在根据您的要求:使用线程组:

重要:

线程组配置将与您前面提到的相同。线程数将是您希望在1200的情况下加载的客户端负载,持续时间:240+300+240,循环:永久,爬升:240是,当您爬升时,即在第一分钟内,随着线程的启动,通常会收到更多请求,因此这是正常行为。要测试您的场景运行5分钟,您应该测试13分钟。排除测试的前4分钟和最后4分钟,因为这是测试和服务器的预热时间,最后4分钟是预热期

现在根据您的要求:使用Ultimate线程组:

您可以这样设置:

Start Thread Count: 1200
Initial delay, sec: 0
Startup, sec: 60
Hold Load: 180
Shutdown Time, sec: 60
不要混淆线程数和请求数,每个线程将在保持加载字段中创建多个请求,持续数秒。

根据您的测试用例和持续时间设置,我认为您正在混淆线程和请求

简而言之:在这种情况下,您必须使用240秒的爬升时间

让我详细描述一下你:

Ramp up是所有用户到达经过测试的应用程序服务器的时间

请求由采样器模拟,而线程是用户的模拟

请注意-请求总数与吞吐量相关,而执行相同活动的活动线程数与并发性相关

根据您的需求,我假设您想要测量与每秒请求数相关的吞吐量,而不是与每秒用户数相关的吞吐量。为了实现这一点,您可以在测试计划级别使用

恒定吞吐量计时器允许您保持每秒服务器请求的吞吐量。这里是取样器。线程是使用采样器请求服务器的用户/客户端

您可以通过使用线程组或最终线程组来实现这一点

据我所知,在结果中的测试结束时,使用恒吞吐量计时器的线程组类型并不重要,您将获得您在恒定吞吐量计时器中提到的期望吞吐量,即,如果您在恒定吞吐量计时器中提到1200/min,并将基于值计算吞吐量作为所有活动线程,并且您的线程组中有3个请求采样器,那么JMeter将以仅生成6.6的方式管理请求每个采样器的请求/秒(即1200/分钟)分为3个请求,无论您使用的是最终线程组还是线程组;吞吐量计时器对所有类型的线程组都以相同的方式工作

现在根据您的要求:使用线程组:

重要:

线程组配置将与您前面提到的相同。线程数将是您希望在1200的情况下加载的客户端负载,持续时间:240+300+240,循环:永久,爬升:240是,当您爬升时,即在第一分钟内,随着线程的启动,通常会收到更多请求,因此这是正常行为。要测试您的场景运行5分钟,您应该测试13分钟。排除测试的前4分钟和最后4分钟,因为这是测试和服务器的预热时间,最后4分钟是预热期

现在根据您的要求:使用Ultimate线程组:

您可以这样设置:

Start Thread Count: 1200
Initial delay, sec: 0
Startup, sec: 60
Hold Load: 180
Shutdown Time, sec: 60

不要将线程数与请求数混淆,每个线程将在“保持加载”字段中创建多个请求,持续数秒。

感谢您的帮助。我已经按照给定的指南设置好了一切。现在,对于默认线程组,我应该设置什么?在默认线程组中,爬升时间=60,并且没有选项控制这1200个线程的爬升。好的,但是如果我使用最终线程组,那么我不需要默认线程组。正确吗?我已经放置了ultimate thread,但是在运行它时出现了这个错误-jmeter.jmeter:Uncaught异常:java.lang.AbstractMethodError:org.apache.jmeter.threads.AbstractThreadGroup.start当我通过插件管理器安装插件时,只有它起作用。在此之前,我已经使用了EXT文件夹的ultimate thread单独的JAR,但这并没有帮助。谢谢您的帮助。我已经按照给定的指南设置好了一切。现在对于默认线程组,我应该设置什么?在默认线程组中,爬升时间=60,并且没有控制线程组的选项
当然,如果我使用终极线程组,那么我就不需要默认线程组。正确吗?我已经放置了ultimate thread,但是在运行它时出现了这个错误-jmeter.jmeter:Uncaught异常:java.lang.AbstractMethodError:org.apache.jmeter.threads.AbstractThreadGroup.start当我通过插件管理器安装插件时,只有它起作用。在此之前,我已经使用了EXT文件夹的ultimate thread单独的JAR,但这并没有帮助。感谢您的回答和详细解释。您能告诉我@Adnan的回答中有什么不正确吗?对于这个场景,更具体地说,是加速期和测试持续时间。测试持续时间应为13分钟,以模拟您的要求。启动时间应该是240秒或4分钟,因为您希望应用程序服务器每秒有5个用户。我已经在回答中的重要部分描述了它。是的。我正在改变我的测试用例设置在终极线程根据您给定的指导。我遵循终极线程组,但测试并没有停止后5分钟。我可以看到1200个活跃用户。测试将在多少分钟内停止?感谢您的回答和详细解释。您能告诉我@Adnan的回答中有什么不正确吗?对于这个场景,更具体地说,是加速期和测试持续时间。测试持续时间应为13分钟,以模拟您的要求。启动时间应该是240秒或4分钟,因为您希望应用程序服务器每秒有5个用户。我已经在回答中的重要部分描述了它。是的。我正在改变我的测试用例设置在终极线程根据您给定的指导。我遵循终极线程组,但测试并没有停止后5分钟。我可以看到1200个活跃用户。测试将在多少分钟内停止?