网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
操作步骤:
1、为线程组添加“constant throughput timer(固定吞吐量定时器)”;如下图:
2、配置constant throughput timer
名称:定时的名称;
Target throughput:目标(期望)吞吐量,注意,这里的吞吐量不是per second,而是每分钟;
既然是测试在20 QPS情况下的系统表现,那么这里我们应该填 20*60=1200;
calculate throughput based on:这是一个下拉框,表示以**为基础来控制Jmeter的请求吞吐量,
我们这里选择All active threads in current thread group;
说明如下:
–This thread only :分别控制每个线程的吞吐量,选择这种模式时,总的吞吐量为设置的 target Throughput 乘以线程的数量。
如果我们这里选择此种模式,然后设定了是10个线程,那么我们前面的Target throughput就应该填写1200/10=120 或 20/10*60=120了;
–All active threads : 设置的target Throughput 将分配在每个活跃线程上,每个活跃线程在上一次运行结束后等待合理的时间后再次运行。活跃线程指同一时刻同时运行的线程。
如果我们这里选择此种模式,然后设定了是10个线程,那么我们前面的Target throughput就应该填写1200/10=120 或 20/10*60=120了;
–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 基本相同,唯一的区别是,每个活跃线程都会在所有活跃线程的上一次运行结束后等待合理的时间后再次运行。
3、配置线程组属性
前面只是配置了QPS,所以我们接着配置,Jmeter持续发送请求的时间,
(1)在线程属性-循环测试处,勾选上“永远”,(此时旁边的editText就无法输入了);
(2)勾选“调度器”,在持续时间中配置10秒,或在启动时间、结束时间处配置一个时间间隔为10秒的时间区间;
4、添加聚合报告、TPS监听器;
(1)我们以20QPS发送10秒,20*10=200个,聚合报告中215个,比较相近,可看为已达到目的;
我测试多次,有时候是205,有时候是210,这个受多因素影响,接近即可;
(2)看TPS;
也是基本为20QPS,百度服务器完成能胜任20QPS的压力;
5、测试报告
相信大家都发现了,同一个测试计划(此处是20QPS的情况下请求10秒),执行多次的结果不尽相同,吞吐量、响应时间等,所以我们写测试报告的时候并不是只写其中一个报告的测试值;
(1)同一个测试计划运行3次以上,并分别将关注的属性值记下来,比如我测试了5次,关注99%line,5次的值分别是300、344、285、360、380;
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
,可以戳这里获取](https://bbs.csdn.net/topics/618631832)**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!