用百度做例子
我们设置阶梯加压线程组的请求参数,如下图
上图表示
1:每隔2秒钟,会在1秒内启动5个线程
2:每次线程加载之后都会运行2s然后开始下一次线程加载
3:最终会加载50个线程并持续运行30s
4:50个线程持续运行30s后,会每隔2秒钟停止5个线程,剩余的线程继续负载。一直到所有线程完全停止
阶梯加压阶段过程:
如果该请求的平均响应时间是100ms,那么一秒内就可以迭代10次
那么,这1秒内我如果启动了5个线程,那么这1s内发出的请求数就是5*10=50次
接着,它运行了2s钟才开始加载下一波线程。在这2秒之内,它发出的请求数是2*5*10=100次
在2s之后,线程组又在1s内启动了5个请求,并运行了2s。那么在这2s内,它发出的请求是2*10*10=200次(此时是10个线程在运行)
以此类推,一直到50个线程加载完之前,我们的线程组释放的请求数是这样的
(2*5*10)+(2*10*10)+(2*15*10)+(2*20*10)+(2*25*10)+....+(2*45*10)=4500次
持续负载阶段:
注意:为什么最后不是2*50*10呢?因为从50个线程加载完之后,我们进行的是30s的持续负载!!
这30s内,我们的总的请求数是30*50*10=15000
线程释放阶段:
在30s负载结束之后,我们的线程组开始阶梯式释放
此时,即使是线程组在释放,那么剩余的线程依然在发起请求
(2*45*10)+(2*40*10)+(2*35*10)+(2*30*10)+(2*25*10)+....+(2*5*10)=4500次
总的请求数=4500+15000+4500=24000次
其实这样计算也是不准确的,因为随着我们的负载越来越大,服务器资源的消耗也越来越大,请求的响应时间也会越来越长
响应时间越来越长,那么相应的每秒迭代次数就会变少。我们这里的响应时间仅仅取了个平均值,真实的数据肯定会有误差
@转自网络,侵权联系删除