通过案例带你轻松玩转JMeter连载(59)

简介: 通过案例带你轻松玩转JMeter连载(59)

3定时器


3.1 常数吞吐量定时器


此计时器引入可变暂停,计算时使总吞吐量(以每分钟样本数为单位)尽可能接近给定的数字。当然,如果服务器无法处理吞吐量,或者如果其他计时器或耗时的测试元素阻止吞吐量,则吞吐量将降低。
注意:尽管计时器被称为常数吞吐量计时器,但吞吐量值不需要为常数。它可以通过变量或函数调用来定义,并且可以在测试期间更改值。可以通过以下方式更改该值。


  • 使用计数器变量。
  • 使用_jexl3、_groovy函数提供一个变化的值。
  • 使用远程BeanShell服务器更改JMeter属性。


请注意,在测试期间不应频繁更改吞吐量值-新值,因为更改后需要一段时间才能生效。


通过右键在弹出菜单中选择“添加->定时器-> Constant Throughput Timer” ,如图9所示。


image.png

图9 常数吞吐量定时器


通过右键在弹出菜单中选择“添加->定时器-> Constant Throughput Timer” ,如图9所示。

  • 目标吞吐量(每分钟的样本量):希望计时器尝试生成吞吐量。
  • 基于计算的吞吐量。

Ø 只有此线程:每个线程将尝试保持目标吞吐量。总吞吐量将与活动线程的数量成比例。
Ø 当前线程组中的所有活动线程:目标吞吐量分配给组中的所有活动线程。每个线程将根据需要延迟,具体取决于它上次运行的时间。
Ø 所有活动线程:目标吞吐量分配给所有线程组中的所有活动线程。每个线程将根据需要延迟,具体取决于它上次运行的时间。在这种情况下,每个其他线程组都需要具有相同设置的恒定吞吐量计时器。
Ø 当前线程组中的所有活动线程(共享):如上所述,但每个线程都会根据组中任何线程上次运行的时间进行延迟。
Ø 所有活动线程(共享):如上所述;每个线程都会根据任何线程上次运行的时间进行延迟。
共享和非共享算法都旨在生成所需的吞吐量,并将产生类似的结果。
共享算法应生成更准确的总体交易率。
非共享算法应该在线程之间生成更均匀的事务分布。


3.2 准确的吞吐量定时器


精确吞吐量计时器是一个计时器,使用户能够确定他们希望在测试中运行的吞吐量(每秒/分钟/小时采样器等)。与恒定吞吐量计时器相比,用户在决定如何随时间分布样本时更加灵活。此外,执行是以随机的方式安排的,从而能够建立恒定的负载。最后,该计时器使用泊松到达计划进行暂停,使其接近真实场景。


通过右键在弹出菜单中选择“添加->定时器-> Precise Throughput Timer”,如图10所示。


image.png

图10 准确的吞吐量定时器


  • 目标吞吐量(每个“吞吐量周期”的样本数):每个“吞吐量周期”(包括组中的所有线程)要从所有受影响的采样器获取的最大样本数。


  • 吞吐量周期(秒):吞吐量周期。例如,如果“吞吐量”设置为48,“吞吐量周期”设置为24秒,则每秒将获得2个样本。


  • 测试持续时间(秒):用于确保在“测试持续时间”时间段内获得吞吐量*持续时间样本。


  • 批处理中的线程数(线程):如果该值超过1,则多个线程同时离开计时器。平均吞吐量仍然满足“吞吐量”值。


  • 批处理中线程之间的延迟(毫秒):例如,如果设置为36,批处理大小为3,则线程将在x、x+36ms、x+72ms处离开。


  • 随机种子(从0更改为随机)注意:不同的计时器最好具有不同的种子值。恒定种子确保计时器在每次测试启动时产生相同的延迟。值“0”表示计时器是真正随机的。


目录
相关文章
|
Java 测试技术 API
通过案例带你轻松玩转JMeter连载(49)
通过案例带你轻松玩转JMeter连载(49)
246 1
通过案例带你轻松玩转JMeter连载(49)
|
存储 Linux
通过案例带你轻松玩转JMeter连载(60)
通过案例带你轻松玩转JMeter连载(60)
173 0
通过案例带你轻松玩转JMeter连载(60)
|
XML JavaScript Java
通过案例带你轻松玩转JMeter连载(58)
通过案例带你轻松玩转JMeter连载(58)
124 0
通过案例带你轻松玩转JMeter连载(58)
通过案例带你轻松玩转JMeter连载(57)
通过案例带你轻松玩转JMeter连载(57)
125 0
通过案例带你轻松玩转JMeter连载(57)
|
存储 索引
通过案例带你轻松玩转JMeter连载(56)
通过案例带你轻松玩转JMeter连载(56)
115 0
通过案例带你轻松玩转JMeter连载(56)
|
存储 Prometheus 监控
通过案例带你轻松玩转JMeter连载(55)
通过案例带你轻松玩转JMeter连载(55)
155 0
通过案例带你轻松玩转JMeter连载(55)
|
存储 监控 数据可视化
通过案例带你轻松玩转JMeter连载(54)
通过案例带你轻松玩转JMeter连载(54)
154 0
通过案例带你轻松玩转JMeter连载(54)
|
存储 Prometheus 监控
通过案例带你轻松玩转JMeter连载(53)
通过案例带你轻松玩转JMeter连载(53)
135 0
通过案例带你轻松玩转JMeter连载(53)
|
JSON 监控 数据可视化
通过案例带你轻松玩转JMeter连载(52)
通过案例带你轻松玩转JMeter连载(52)
197 0
通过案例带你轻松玩转JMeter连载(52)
|
存储 监控 测试技术
通过案例带你轻松玩转JMeter连载(51)
通过案例带你轻松玩转JMeter连载(51)
206 0
通过案例带你轻松玩转JMeter连载(51)