jmeter 测试某系统5分钟内能完成5000笔查询业务,且90%的响应时间不超过3s,并求出需要设置的线程数

需求理解:

5分钟,完成5000次请求,那么1000请求/分钟,约17请求/s,也就是某请求1s中需要迭代17次;

方式一、

根据单次响应时间,算出1s中可以迭代的次数m;设置的线程数n=17/m,不限迭代次数,持续时间300s;线程数n=(5000/300)/(1/单次响应时间),即线程数=(总业务量/总业务时间)/(1/单次响应时间)=单次响应时间*总业务量/总业务时间

a)先运行1个线程,查看响应时间;

如下图,响应时间为695ms,1s该请求可迭代次数为1.4,那么想要达到17次迭代/s,需要怎么办呢?可以增加线程数到17/1.4=12;

线程数=0.695*5000/300=12;

b)线程组中设置线程数12,一直循环,勾选调度器,持续时间为300;

 c)查看结果;

 

 

 

方式二、使用Arrivals Thread Group(到达线程组),在这个线程组中我们给予预期的业务量和业务时间,系统会自动启动线程取满足业务需求;

a)target rate中设置目标TPS,ramp up time设置加速时间,ramp-up steps count设置上升阶段数,hold target rate time设置保持目标的持续时间;

如下图,近似看为17*300=5100

 

 TPS基本在17事务/s;

 

 聚合报告

 

 Active Thread Over Time(随时间变化的活动线程),可以看出最大系统并发数(启动的线程数)是19

 

越努力,越幸运!!! good good study,day day up!!!
原文地址:https://www.cnblogs.com/canglongdao/p/12611827.html