Jmeter Constant Throughput Timer 使用

以固定的QPS请求某个接口,例如查询接口的QPS预估为200,能够添加Constant Throughput Timer来设置QPShtml

原文连接:http://www.javashuo.com/article/p-njvqxmdw-es.html网络

本次性能测试的需求中提到测试的目的是“了解博客的首页在负载达到20 QPS时的响应时间”,所以须要控制向博客首页发送请求的负载为20QPS。性能

  一种可行的方法是逐步调整测试计划中的线程计算的数量以及为取样器(Sampler)添加定时器(Timer),以使HTTP取样器发出的请求的QPS保持在20个左右。但这种方法耗时耗力,须要通过屡次尝试才能达到;另外一方法,彻底经过设置定时器来控制QPS,一旦取样器的响应时间发生改变(网络环境发生改变),就须要从新调整定时器的等待时间。测试

  Jmeter提供了一个很是有用的定时器,称为Constant Throughput Timer (常数吞吐量定时器),该定时器能够方便地控制给定的取样器发送请求的吞吐量。spa

  右键点击fnng.cnblogs.com ,弹出菜单(添加--->定时器--->Constant Throughput Timer)选择Constant Throughput Timer线程

Constant Throughput Timer 的主要属性介绍:htm

名称 :定时器的名称blog

Target throughput(in samples per minute):目标吞吐量。注意这里是每分钟发送的请求数,所以,对应测试需求中所要求的20 QPS ,这里的值应该是1200 。接口

Calculate Throughput based on :有5个选项,分别是:get

  This thread only :控制每一个线程的吞吐量,选择这种模式时,总的吞吐量为设置的 target Throughput 乘以矣线程的数量。

  All active threads : 设置的target Throughput 将分配在每一个活跃线程上,每一个活跃线程在上一次运行结束后等待合理的时间后再次运行。活跃线程指同一时刻同时运行的线程。

  All active threads in current thread group :设置的target Throughput将分配在当前线程组的每个活跃线程上,当测试计划中只有一个线程组时,该选项和All active threads选项的效果彻底相同。

  All active threads (shared ):与All active threads 的选项基本相同,惟一的区别是,每一个活跃线程都会在全部活跃线程上一次运行结束后等待合理的时间后再次运行。

  All cative threads in current thread group (shared ):与All active threads in current thread group 基本相同,惟一的区别是,每一个活跃线程都会在全部活跃线程的上一次运行结束后等待合理的时间后再次运行。

 

  如上图,该元件仅做用于fnng.cnblogs.com ,设置定时器的Target throughput为1200/分钟(20 QPS),设置Calculate Throughput based on 的值为All active threads 。

  固然,Constant Throughput Timer只有在线程组中的线程产生足够多的request 的状况下才有意义,所以,即便设置了Constant Throughput Timer的值,也可能因为线程组中的线程数量不够,或是定时器设置不合理等缘由致使整体的QPS不能达到预期目标。

相关文章
相关标签/搜索