JMeter - 有没有办法调节负载以满足目标?

JMeter - is there a way to modulate load to meet a goal?

假设我的目标是计算支持的最大用户数以获得 3 秒的平均交易响应?

或者假设目标包括更复杂的规则作为规则集,例如增加线程数直到响应时间平均为 5 秒或最慢的页面超过 10 秒或此特定页面平均超过 5 秒。

JMeter 有没有这样的东西,即使是插件?

到目前为止,使用任何工具都无法实现您正在尝试的操作。

但您可以使用 Little's law 来找出满足您条件的大概负载。

利特尔定律指出,

Throughput * (avg response time + Think time) = Total no. of users in closed system 

在您的情况下,您知道吞吐量、平均响应时间、思考时间,然后应用公式并找出未知数。如果有 2 个未知数,那么您可以使用少量数字进行多轮测试,并在更高的范围内推断未知数。

制定总数。具有 assumed/calculated 吞吐量的用户(JMeter 中的线程)。 进行测试以确认具有一定误差范围的结果。

据我所知,您可以使用 jmeter 插件的自动停止功能 http://jmeter-plugins.org/wiki/AutoStop/

我自己从未使用过它,但我看到您可以将它配置为在给定的响应时间(给定的时间段内)停止。它看起来是最简单直接的方法。你只需要下载合适的包(我在Extras Set中找到它)

-编辑-

哦,我忘了写创建将逐渐增加负载的测试用例,您也可以使用 jMeter 插件中的步进线程组 (http://jmeter-plugins.org/wiki/SteppingThreadGroup/)。非常简单,当与 Auto-Stop 组合在一起时,可以为您提供您正在寻找的东西 - 在一段时间内使用更多线程来找到所需的负载。