jmeter稳定性测试

jmeter稳定性测试

参数解释

做稳定性测试前先要了线程组中的几个参数
1、Number of Threads(users):并发用户数
2、Ramp-up period(seconds):每隔几秒执行
3、Loop count循环次数

用例1:表示1秒钟有4个并发
jmeter稳定性测试_第1张图片
用例2:表示10秒钟启动5个线程,即2秒启动一个
在这里插入图片描述
用例3:表示1秒钟启动2个,循环2次。注意循环的2次是跟第一次同时执行的,也就是相当于1秒钟启动4个。
jmeter稳定性测试_第2张图片
这时候,可能有人想问循环次数勾上Infinite会怎样,按照我的理解应该是同时发无数个请求。一般不会这么干,做稳定性测试需要结合Constant Throughput Timer来控制TPS

用例4:线程组中设置的1s执行一次,吞吐量定时器中设置的是60表示60个/min,即1个/s, 结合起来执行的效果是1个/s,即TPS为1个/s
在这里插入图片描述
jmeter稳定性测试_第3张图片
用例5:线程组中设置的1s执行2次,吞吐量定时器中设置的是60表示60个/min,即1个/s, 结合起来执行的效果是2个/s,即TPS为2个/s

jmeter稳定性测试_第4张图片
jmeter稳定性测试_第5张图片
用例6:线程组中设置的1s执行1次,吞吐量定时器中设置的是120表示120个/min,即2个/s, 结合起来执行的效果是2个/s,即TPS为2个/s
jmeter稳定性测试_第6张图片

jmeter稳定性测试_第7张图片
结合用例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为1
120/60/2=1
综上:当事务中的请求数为requestNumber,TPS=Number of Threads*Target throughput/60/requestNumber

你可能感兴趣的:(jmeter学习,压力测试,java,开发语言)