赞
踩
做稳定性测试前先要了线程组中的几个参数
1、Number of Threads(users):并发用户数
2、Ramp-up period(seconds):每隔几秒执行
3、Loop count循环次数
用例1:表示1秒钟有4个并发
用例2:表示10秒钟启动5个线程,即2秒启动一个
用例3:表示1秒钟启动2个,循环2次。注意循环的2次是跟第一次同时执行的,也就是相当于1秒钟启动4个。
这时候,可能有人想问循环次数勾上Infinite会怎样,按照我的理解应该是同时发无数个请求。一般不会这么干,做稳定性测试需要结合Constant Throughput Timer来控制TPS
用例4:线程组中设置的1s执行一次,吞吐量定时器中设置的是60表示60个/min,即1个/s, 结合起来执行的效果是1个/s,即TPS为1个/s
用例5:线程组中设置的1s执行2次,吞吐量定时器中设置的是60表示60个/min,即1个/s, 结合起来执行的效果是2个/s,即TPS为2个/s
用例6:线程组中设置的1s执行1次,吞吐量定时器中设置的是120表示120个/min,即2个/s, 结合起来执行的效果是2个/s,即TPS为2个/s
结合用例4、5、6来看,要控制TPS可以通过线程组中的Number of Threads和吞吐量定时器中的Target throughput来控制,TPS=Number of Threads*Target throughput/60,跟Ramp-up period貌似没有关系了
补充知识:
当线程组下面的http请求存在多个,且每个请求都依赖上个请求的返回结果,这时会用到事务。设置了Transaction Controller对TPS又有什么影响呢?
测试一:事务下面有两个请求,同时Number Of Threads为2,Target throughput为120.这时的TPS为2120/60/2=2
测试二:事务下面有两个请求,同时Number Of Threads为1,Target throughput为120.这时的TPS为1120/60/2=1
综上:当事务中的请求数为requestNumber,TPS=Number of Threads*Target throughput/60/requestNumber
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。