首先,当然还是创建一个线程组,然后添加一个HTTP请求,这里还是以百度为例:
方便演示这里设置10个线程,持续60S,
然后使用命令运行,看一下效果:
可以看到,Jmeter在31秒就运行完完了600次请求,并且最大响应时间达到了9032ms,可是我这里需要的是60秒完成,这个时候,就需要一个定时器来控制每秒的并发数了。
这里使用Constant Throughput Timer (常数吞吐量定时器),该定时器可以方便地控制给定的取样器发送请求的吞吐量。
在HTTP请求上,右键->添加->定时器->Constant Throughput Timer
参数说明:
Target throughput(in samples per minute):目标吞吐量。注意这里是每分钟发送的请求数,因此,对应测试需求中所要求的10 QPS ,这里的值应该是600。
Calculate Throughput based on :有5个选项,分别是:
1.This thread only :控制每个线程的吞吐量,选择这种模式时,总的吞吐量为设置的 target Throughput 乘以线程的数量。
2.All active threads : 设置的target Throughput 将分配在每个活跃线程上,每个活跃线程在上一次运行结束后等待合理的时间后再次运行。活跃线程指同一时刻同时运行的线程。
3.All active threads in current thread group :设置的target Throughput将分配在当前线程组的每一个活跃线程上,当测试计划中只有一个线程组时,该选项和All active threads选项的效果完全相同。
4.All active threads (shared ):与All active threads 的选项基本相同,唯一的区别是,每个活跃线程都会在所有活跃线程上一次运行结束后等待合理的时间后再次运行。
5.All cative threads in current thread group (shared ):与All active threads in current thread group 基本相同,唯一的区别是,每个活跃线程都会在所有活跃线程的上一次运行结束后等待合理的时间后再次运行。
设置Target throughput为600,Calculate Throughput based on 为All active thread,完成之后再看一下运行效果:
可以看到,QPS符合我们的预期。
最近阿里云又开始做活动了,老用户和新用户都有超低的折扣,点击下面链接就可以看到了: