
JMeter恒定吞吐量定时器简介
JMeter中的恒定吞吐量定时器是通过计算请求总数来实现实际输出。计时器试图产生一个恒定的吞吐量,直到测试结束以实现目标。因此,如果服务器无法管理负载,就会导致最小的吞吐量。如果其他定时器拒绝恒定吞吐量的定时器,它可能会减少。因此,不建议将其他定时器与恒定吞吐量定时器一起使用。在这篇文章中,简要讨论了恒定吞吐量定时器的使用、配置和例子。
什么是JMeter恒定吞吐量定时器?
如果用户想执行一个目标型的案例,目标不是刺激许多并发用户,但每秒的请求数落在定义的时间内,那么就使用恒定吞吐量时间。它的作用精确到分钟级别,并确保测试持续时间不长,如超过一分钟,用户暗示合理的上升时间,以避免尖峰。
其他定时器会影响恒定吞吐量定时器的目标,不建议将其与其他定时器一起使用。为了在测试结束时实现正确的采样器计数,用户应该忽略累计报告中的交易计数,以确保恒定吞吐量定时器的功能正确与否。实现的目标很高。线程没有被顺利中止。在测试持续时间结束时,所有的线程都停止了,有时,它们正处于一个迭代的中间。用户必须固定线程的数量来准备实时场景。Spike测试场景和升维案例没有准备恒定吞吐量计时器。
如何使用JMeter的恒定吞吐量定时器?
选择合适的元素,用户要在其中加入定时器。它可以是一个测试计划,线程组,控制器或采样器。在配置元素上点击右键,选择添加。从窗格中选择定时器,并选择恒定吞吐量定时器。
必须在恒定吞吐量定时器中配置名称、目标吞吐量、计算吞吐量、注释、活动线程和共享活动线程等强制性输入字段:

- 在名称字段中提供适当的定时器的名称。
- 在注释部分提供相关的和描述性的注释。
- 目标吞吐量是以每分钟的样本数计算的。应该提到在一分钟内需要产生的请求数量。例如,如果用户想在一小时内达到5000个请求,那么目标吞吐量值应该是5000/60=83左右。这里的目标吞吐量值是83。

根据要求来计算吞吐量。选项,"仅此线程",使每个线程管理其目标吞吐量,而不考虑任何组。整个吞吐量与活动线程的数量成正比。例如,如果十个用户有十个采样器,目标吞吐量值被设定为五秒,那么每个线程将每分钟单独发送五个请求。所以一分钟后触发的请求是10*5=50,每个线程每分钟将发送五个请求。
当前线程组中的所有活动线程都在组内存在的所有活动线程之间进行委托。因此,每个线程都可以根据最后的执行情况进行配置。因此,所有的线程都以一种系统的方式工作。还有一个选择;所有活动线程在线程组中的所有线程之间隔离目标吞吐量。因此,每个线程都会根据要求得到延迟,并根据所有最后的执行情况工作。在这种情况下,所有线程组需要一个具有类似设置的恒定吞吐量计时器。

共享线程组拥有当前线程组中的所有活动线程。因此,如果用户选择了这个选项,目标吞吐量就会在相关组的所有活动线程中被隔离出来。不过,每个线程都是根据该组的最后一次执行而延迟执行的。例如,考虑到如果五个用户有五个采样器,并且7秒被设置为目标吞吐量值。现在,在一分钟内总共会有七个请求被一起发送。所以一分钟后,触发的请求将是七个。
共享活动线程是一个选项,它将目标吞吐量在所有线程组中存在的所有活动线程之间隔离。每个线程都是根据最后一次执行的延迟来执行的。例如,考虑有两个有五个用户的线程组,第一线程组有两个用户,第二线程组有三个用户,有五个采样器。这里将8个设定为目标吞吐量值,现在每分钟发送8个请求。所以,一分钟后,触发的请求将是8个。

恒定吞吐量定时器实例
如上所述,JMeter中的定时器对于维护性能测试非常重要。然而,其他的定时器也可以随时作为插件在测试计划中实现,并检查计划的性能。JMeter中流行的定时器有:恒定定时器、均匀随机定时器、高斯随机定时器、精确吞吐量定时器、同步定时器、Beanshell定时器和JSR223定时器。

高斯随机时间很容易使用,有助于查看统计分析,也叫钟形曲线。随机毒药定时器与高斯随机定时器相同,但它工作速度快,没有延迟。Lambda用于计算随机值,以防止性能测试的延迟。JSR223时间是灵活的,允许用户编写脚本和修复延迟。因此,它可能是复杂的或简单的,根据测试的需要。
结论
虽然该计时器是一个恒定的吞吐量计时器,但其值不需要是恒定的,它可以在测试中改变。它可以通过计数器变量、Beanshell函数、JavaScript和远程BeanShell来改变JMeter的属性,设置为首选设置。