3定时器
3.1 常数吞吐量定时器
该计时器引入了可变的暂停时间,以使总吞吐量(以每分钟样本数计)尽可能接近指定的数值。当然,如果服务器无法处理该吞吐量,或其他计时器或耗时的测试元素阻碍了吞吐量,实际吞吐量将会降低。请注意,虽然定时器称为常数吞吐量定时器,但其吞吐量值不必是常数。可以通过变量或函数调用来定义,并且在测试过程中可以更改该值。可以通过以下方法进行更改:
使用计数器变量。使用_jexl3、_groovy函数提供变化的值。使用远程BeanShell服务器更改JMeter属性。请注意,在测试过程中不应频繁更改吞吐量值,因为新值需要一段时间才能生效。通过右键点击并在弹出菜单中选择“添加->定时器->Constant Throughput Timer”,如图9所示。
图9 常数吞吐量定时器
通过右键点击并在弹出菜单中选择“添加->定时器->Constant Throughput Timer”,如图9所示。
目标吞吐量(每分钟的样本量):计时器尝试生成的吞吐量。基于计算的吞吐量。Ø 只有此线程:每个线程将尝试保持目标吞吐量。总吞吐量将与活动线程的数量成比例。Ø 当前线程组中的所有活动线程:目标吞吐量分配给组中的所有活动线程。每个线程将根据需要延迟,具体取决于它上次运行的时间。Ø 所有活动线程:目标吞吐量分配给所有线程组中的所有活动线程。每个线程将根据需要延迟,具体取决于它上次运行的时间。在这种情况下,每个其他线程组都需要具有相同设置的恒定吞吐量计时器。Ø 当前线程组中的所有活动线程(共享):如上所述,但每个线程都会根据组中任何线程上次运行的时间进行延迟。Ø 所有活动线程(共享):如上所述;每个线程都会根据任何线程上次运行的时间进行延迟。共享和非共享算法都旨在生成所需的吞吐量,并将产生类似的结果。共享算法应生成更准确的总体交易率。非共享算法应该在线程之间生成更均匀的事务分布。
3.2 准确的吞吐量定时器
精确吞吐量计时器是一个计时器,使用户能够确定他们希望在测试中运行的吞吐量(每秒/分钟/小时采样器等)。与恒定吞吐量计时器相比,用户在决定如何随时间分布样本时具有更大的灵活性。此外,执行是以随机的方式安排的,从而能够建立恒定的负载。最后,该计时器使用泊松到达计划进行暂停,使其接近真实场景。通过右键点击并在弹出菜单中选择“添加->定时器->Precise Throughput Timer”,如图10所示。
图10 准确的吞吐量定时器
目标吞吐量(每个“吞吐量周期”的样本数):每个“吞吐量周期”(包括组中的所有线程)要从所有受影响的采样器获取的最大样本数。吞吐量周期(秒):吞吐量周期。例如,如果“吞吐量”设置为48,“吞吐量周期”设置为24秒,则每秒将获得2个样本。测试持续时间(秒):用于确保在“测试持续时间”时间段内获得吞吐量*持续时间样本。批处理中的线程数(线程):如果该值超过1,则多个线程同时离开计时器。平均吞吐量仍然满足“吞吐量”值。批处理中线程之间的延迟(毫秒):例如,如果设置为36,批处理大小为3,则线程将在x、x+36ms、x+72ms处离开。随机种子(从0更改为随机)注意:不同的计时器最好具有不同的种子值。恒定种子确保计时器在每次测试启动时产生相同的延迟。值“0”表示计时器是真正随机的。
以上就是通过案例带你轻松玩转JMeter连载(59)的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号